日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

MariaDB三种方法安装及多实例实现

發布時間:2025/7/14 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 MariaDB三种方法安装及多实例实现 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

本章內容

Mariadb的三種安裝方式:

??? 1、程序包管理器管理的程序包

??? 2、二進制格式的程序包:展開至特定路徑,并經過簡單配置后即可使用

??? 3、源代碼:編譯安裝

MariaDB在一臺機器上的多實例實現

?

本機環境

系統版本:以CentOS_7.5_x86_64為例

MariaDB版本:以MariaDB 10.2.15 Stable為例

?

程序包管理器(yum)方式安裝MariaDB

1、配置好yum源后,輸yum -y install mariadb-server即可,不過mariadb版本是5.5的,不是較新的

2、如果想用yum安裝較新版本的mariadb,可到MariaDB官網上查較新版本的yum源,官網地址是http://mariadb.org/,打開網頁后點擊Download,再點Download


3、這里以10.2.15版本為例,點擊Download 10.2.15 Stable Now!


4、拉到最下面,點擊Repository Configuration Tool.


5、依次點擊CentOS --> CentOS 7 (x86_64) --> 10.2 [Stable],可以看到下方出現了yum源信息,將此信息復制,即可在CentOS中以此配置yum倉庫

配好后輸命令:

??? yum clean all

??? yum repolist

??? yum -y install mariadb-server

即可安裝較新版的10.2.15版的MariaDB

?

安裝包準備

準備MariaDB的源碼安裝包,以及二進制程序安裝包

二進制程序安裝包其實就是已編譯好的包,不用再編譯

1、到官網上下載安裝包,仍然是點擊Download,再點擊Download,之后點擊Download 10.2.15 Stable Now


2、下載兩個包,mariadb-10.2.15.tar.gz是源碼包,mariadb-10.2.15-linux-x86_64.tar.gz是二進制格式的程序包

?

3、用Linux的rz工具或者Xshell的xftp工具,把兩個程序包傳到兩臺虛擬機上


二進制程序包安裝MariaDB

(1) 準備用戶

??? groupadd -r -g 306 mysql

??? useradd -r -g 306 -u 306 -m -d /data/mysqldb mysql

(2) 準備數據目錄

??? 以/data/mysqldb為例,建議使用邏輯卷

??? chown mysql:mysql /data/mysqldb

??? chmod 700 /data/mysqldb

(3) 準備二進制程序

??? tar xf mariadb-10.2.15-linux-x86_64.tar.gz -C /usr/local ?#/usr/local是程序包指定的目錄,必須解壓在這里

??? cd /usr/local;ln -sv mariadb-10.2.15 mysql

??? chown -R mysql:mysql /usr/local/mysql/

(4) 準備配置文件

??? mkdir /etc/mysql/

??? cp support-files/my-huge.cnf /etc/mysql/my.cnf

??? #/usr/local/mysql/support-files下有很多my-*.cnf文件,分別對應不同的內存大小,可打開看看,選擇對應自己機器的拷貝就行

??? vim /etc/mysql/my.cnf

??? [mysqld]中添加三個選項:

??? ??? datadir = /data/mysqldb

??? ??? innodb_file_per_table = on 可不加

??? ??? skip_name_resolve = on 禁止主機名解析,建議使用,不加也可

(5) 創建數據庫文件

??? cd /usr/local/mysql/

??? ./scripts/mysql_install_db --datadir=/data/mysqldb --user=mysql

(6) 準備日志文件

??? touch /var/log/mysqld.log

??? chown mysql:mysql /var/log/mysqld.log

(7) 準備服務腳本,并啟動服務

??? cp ./support-files/mysql.server /etc/rc.d/init.d/mysqld

??? chkconfig --add mysqld

??? service mysqld start

(8) 安全初始化

??? /user/local/mysql/bin/mysql_secure_installation

(9) 添加環境變量

??? echo PATH=/usr/local/mysql/bin:$PATH > /etc/profile.d/mysql.sh

??? . /etc/profile.d/mysql.sh


源碼編譯安裝MariaDB

(1) 安裝包

yum install bison bison-devel zlib-devel libcurl-devel libarchive-devel boost-devel gcc gcc-c++ cmake libevent-devel gnutls-devel libaio-devel openssl-devel ncurses-devel libxml2-devel

(2) 做準備用戶和數據目錄

mkdir /data

useradd -r -s /sbin/nologin -m -d /data/mysqldb/ mysql

tar xvf mariadb-10.2.15.tar.gz

(3) cmake 編譯安裝

cd mariadb-10.2.15/

編譯選項,可參考:

https://dev.mysql.com/doc/refman/5.7/en/source-configuration-options.html

這里直接輸命令

cmake . \

-DCMAKE_INSTALL_PREFIX=/app/mysql \

-DMYSQL_DATADIR=/data/mysqldb/ \

-DSYSCONFDIR=/etc \

-DMYSQL_USER=mysql \

-DWITH_INNOBASE_STORAGE_ENGINE=1 \

-DWITH_ARCHIVE_STORAGE_ENGINE=1 \

-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \

-DWITH_PARTITION_STORAGE_ENGINE=1 \

-DWITHOUT_MROONGA_STORAGE_ENGINE=1 \

-DWITH_DEBUG=0 \

-DWITH_READLINE=1 \

-DWITH_SSL=system \

-DWITH_ZLIB=system \

-DWITH_LIBWRAP=0 \

-DENABLED_LOCAL_INFILE=1 \

-DMYSQL_UNIX_ADDR=/app/mysql/mysql.sock \

-DDEFAULT_CHARSET=utf8 \

-DDEFAULT_COLLATION=utf8_general_ci

make && make install

(4) 準備環境變量

??? echo 'PATH=/app/mysql/bin:$PATH' > /etc/profile.d/mysql.sh

??? . /etc/profile.d/mysql.sh

(5) 生成數據庫文件

??? chmod 700 /data/mysqldb

??? cd /app/mysql/

??? scripts/mysql_install_db --datadir=/data/mysqldb/ --user=mysql

(6) 準備配置文件

??? cp /app/mysql/support-files/my-huge.cnf /etc/my.cnf

??? vim /etc/mysql/my.cnf

??? [mysqld]中添加:

?????? datadir = /data/mysqldb

??? chown -R mysql:mysql /app/mysql/

(7) 準備啟動腳本

??? cp /app/mysql/support-files/mysql.server /etc/init.d/mysqld

(8) 啟動服務

??? chkconfig --add mysqld

??? service mysqld start

?

MariaDB在一臺機器上的多實例實現

(1) 安裝MariaDB,這里用yum安裝

yum install mariadb-server

(2) 創建多實例目錄

這里創建三個實例,最后三個實例會分別使用3306,3307,3308端口

mkdir /mysqldb/{3306,3307,3308}/{etc,socket,pid,log,data} -pv

chown -R mysql.mysql /mysqldb/

(3) 生成數據庫文件

mysql_install_db --datadir=/mysqldb/3306/data --user=mysql

mysql_install_db --datadir=/mysqldb/3307/data --user=mysql

mysql_install_db --datadir=/mysqldb/3308/data --user=mysql

(4) 準備配置文件

cp /etc/my.cnf /mysqldb/3306/etc/

vim /mysqldb/3306/etc/my.cnf

[mysqld]

port=3306

datadir=/mysqldb/3306/data

socket=/mysqldb/3306/socket/mysql.sock

?

[mysqld_safe]

log-error=/mysqldb/3306/log/mariadb.log

pid-file=/mysqldb/3306/pid/mariadb.pid

#!includedir /etc/my.cnf.d

?

cp /mysqldb/3306/etc/my.cnf /mysqldb/3307/etc/my.cnf #復制配置文件到3307和3308中

cp /mysqldb/3306/etc/my.cnf /mysqldb/3308/etc/my.cnf

vim /mysqldb/3307/etc/my.cnf

?? :%s/3306/3307/ #將所有端口號從3306替換為3307

?? :wq

vim /mysqldb/3308/etc/my.cnf

?? :%s/3306/3308/ #將所有端口號從3306替換為3308

?? :wq

?

(5) 準備服務腳本

這里準備了一個服務腳本,粘到一個空文件里,并命名為mysqld:

#!/bin/bash #FileName:?mysqld port=3306 mysql_user="root" mysql_pwd="" cmd_path="/usr/bin" mysql_basedir="/mysqldb" mysql_sock="${mysql_basedir}/${port}/socket/mysql.sock"function_start_mysql() {if?[?!?-e?"$mysql_sock"?];thenprintf?"Starting?MySQL...\n"${cmd_path}/mysqld_safe?--defaults-file=${mysql_basedir}/${port}/etc/my.cnf??&>?/ dev/null??&elseprintf?"MySQL?is?running...\n"exitfi }function_stop_mysql() {if?[?!?-e?"$mysql_sock"?];thenprintf?"MySQL?is?stopped...\n"exitelseprintf?"Stoping?MySQL...\n"${cmd_path}/mysqladmin?-u?${mysql_user}?-p${mysql_pwd}?-S?${mysql_sock}?shutdownfi }function_restart_mysql() {printf?"Restarting?MySQL...\n"function_stop_mysqlsleep?2function_start_mysql }case?$1?in start)function_start_mysql ;; stop)function_stop_mysql ;; restart)function_restart_mysql ;; *)printf?"Usage:?${mysql_basedir}/${port}/bin/mysqld?{start|stop|restart}\n" esac#End?of?file

?

chmod 700 mysqld

cp mysqld /mysqldb/3306/

cp mysqld /mysqldb/3307/

cp mysqld /mysqldb/3308/

#修改各實例配置文件的端口號

vim? /mysqldb/3306/mysqld

vim? /mysqldb/3307/mysqld

vim? /mysqldb/3308/mysqld

?

(6) 啟動三個實例

/mysqldb/3306/mysqld start

/mysqldb/3307/mysqld start

/mysqldb/3308/mysqld start

(7) 連接三個實例

mysql -S /mysqldb/3306/socket/mysql.sock

mysql -S /mysqldb/3307/socket/mysql.sock

mysql -S /mysqldb/3308/socket/mysql.sock

?


轉載于:https://blog.51cto.com/13695854/2127892

總結

以上是生活随笔為你收集整理的MariaDB三种方法安装及多实例实现的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。