溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

MariaDB三種方法安裝及多實(shí)例實(shí)現(xiàn)

發(fā)布時(shí)間:2020-06-30 04:25:01 來源:網(wǎng)絡(luò) 閱讀:9975 作者:化澄風(fēng) 欄目:MySQL數(shù)據(jù)庫(kù)

MariaDB三種方法安裝及多實(shí)例實(shí)現(xiàn)

本章內(nèi)容

Mariadb的三種安裝方式:

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

    2、二進(jìn)制格式的程序包:展開至特定路徑,并經(jīng)過簡(jiǎn)單配置后即可使用

    3、源代碼:編譯安裝

MariaDB在一臺(tái)機(jī)器上的多實(shí)例實(shí)現(xiàn)

 

本機(jī)環(huán)境

系統(tǒng)版本:以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官網(wǎng)上查較新版本的yum源,官網(wǎng)地址是http://mariadb.org/,打開網(wǎng)頁(yè)后點(diǎn)擊Download,再點(diǎn)Download

MariaDB三種方法安裝及多實(shí)例實(shí)現(xiàn)

MariaDB三種方法安裝及多實(shí)例實(shí)現(xiàn)


3、這里以10.2.15版本為例,點(diǎn)擊Download 10.2.15 Stable Now!

MariaDB三種方法安裝及多實(shí)例實(shí)現(xiàn)


4、拉到最下面,點(diǎn)擊Repository Configuration Tool.

MariaDB三種方法安裝及多實(shí)例實(shí)現(xiàn)


5、依次點(diǎn)擊CentOS --> CentOS 7 (x86_64) --> 10.2 [Stable],可以看到下方出現(xiàn)了yum源信息,將此信息復(fù)制,即可在CentOS中以此配置yum倉(cāng)庫(kù)

MariaDB三種方法安裝及多實(shí)例實(shí)現(xiàn)

配好后輸命令:

    yum clean all

    yum repolist

    yum -y install mariadb-server

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

 

安裝包準(zhǔn)備

準(zhǔn)備MariaDB的源碼安裝包,以及二進(jìn)制程序安裝包

二進(jìn)制程序安裝包其實(shí)就是已編譯好的包,不用再編譯

1、到官網(wǎng)上下載安裝包,仍然是點(diǎn)擊Download,再點(diǎn)擊Download,之后點(diǎn)擊Download 10.2.15 Stable Now

MariaDB三種方法安裝及多實(shí)例實(shí)現(xiàn)


2、下載兩個(gè)包,mariadb-10.2.15.tar.gz是源碼包,mariadb-10.2.15-linux-x86_64.tar.gz是二進(jìn)制格式的程序包

MariaDB三種方法安裝及多實(shí)例實(shí)現(xiàn)

MariaDB三種方法安裝及多實(shí)例實(shí)現(xiàn)

 

3、用Linux的rz工具或者Xshell的xftp工具,把兩個(gè)程序包傳到兩臺(tái)虛擬機(jī)上


二進(jìn)制程序包安裝MariaDB

(1) 準(zhǔn)備用戶

    groupadd -r -g 306 mysql

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

(2) 準(zhǔn)備數(shù)據(jù)目錄

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

    chown mysql:mysql /data/mysqldb

    chmod 700 /data/mysqldb

(3) 準(zhǔn)備二進(jìn)制程序

    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) 準(zhǔn)備配置文件

    mkdir /etc/mysql/

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

    #/usr/local/mysql/support-files下有很多my-*.cnf文件,分別對(duì)應(yīng)不同的內(nèi)存大小,可打開看看,選擇對(duì)應(yīng)自己機(jī)器的拷貝就行

    vim /etc/mysql/my.cnf

    [mysqld]中添加三個(gè)選項(xiàng):

        datadir = /data/mysqldb

        innodb_file_per_table = on 可不加

        skip_name_resolve = on 禁止主機(jī)名解析,建議使用,不加也可

(5) 創(chuàng)建數(shù)據(jù)庫(kù)文件

    cd /usr/local/mysql/

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

(6) 準(zhǔn)備日志文件

    touch /var/log/mysqld.log

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

(7) 準(zhǔn)備服務(wù)腳本,并啟動(dòng)服務(wù)

    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) 添加環(huán)境變量

    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) 做準(zhǔn)備用戶和數(shù)據(jù)目錄

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/

編譯選項(xiàng),可參考:

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) 準(zhǔn)備環(huán)境變量

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

    . /etc/profile.d/mysql.sh

(5) 生成數(shù)據(jù)庫(kù)文件

    chmod 700 /data/mysqldb

    cd /app/mysql/

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

(6) 準(zhǔn)備配置文件

    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) 準(zhǔn)備啟動(dòng)腳本

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

(8) 啟動(dòng)服務(wù)

    chkconfig --add mysqld

    service mysqld start

 

MariaDB在一臺(tái)機(jī)器上的多實(shí)例實(shí)現(xiàn)

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

yum install mariadb-server

(2) 創(chuàng)建多實(shí)例目錄

這里創(chuàng)建三個(gè)實(shí)例,最后三個(gè)實(shí)例會(huì)分別使用3306,3307,3308端口

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

chown -R mysql.mysql /mysqldb/

(3) 生成數(shù)據(jù)庫(kù)文件

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) 準(zhǔn)備配置文件

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 #復(fù)制配置文件到3307和3308中

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

vim /mysqldb/3307/etc/my.cnf

   :%s/3306/3307/ #將所有端口號(hào)從3306替換為3307

   :wq

vim /mysqldb/3308/etc/my.cnf

   :%s/3306/3308/ #將所有端口號(hào)從3306替換為3308

   :wq

 

(5) 準(zhǔn)備服務(wù)腳本

這里準(zhǔn)備了一個(gè)服務(wù)腳本,粘到一個(gè)空文件里,并命名為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" ];then
      printf "Starting MySQL...\n"
      ${cmd_path}/mysqld_safe --defaults-file=${mysql_basedir}/${port}/etc/my.cnf  &> /
dev/null  &
    else
      printf "MySQL is running...\n"
      exit
    fi
}
 
 
function_stop_mysql()
{
    if [ ! -e "$mysql_sock" ];then
       printf "MySQL is stopped...\n"
       exit
    else
       printf "Stoping MySQL...\n"
       ${cmd_path}/mysqladmin -u ${mysql_user} -p${mysql_pwd} -S ${mysql_sock} shutdown
   fi
}
 
function_restart_mysql()
{
    printf "Restarting MySQL...\n"
    function_stop_mysql
    sleep 2
    function_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/

#修改各實(shí)例配置文件的端口號(hào)

vim  /mysqldb/3306/mysqld

vim  /mysqldb/3307/mysqld

vim  /mysqldb/3308/mysqld

 

(6) 啟動(dòng)三個(gè)實(shí)例

/mysqldb/3306/mysqld start

/mysqldb/3307/mysqld start

/mysqldb/3308/mysqld start

(7) 連接三個(gè)實(shí)例

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

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

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

 


向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI