【MySQL】之MySQL5.7版本數(shù)據(jù)庫多實例安裝部署
項目需求
1、多實例數(shù)據(jù)庫環(huán)境規(guī)劃
2、多實例數(shù)據(jù)庫初始
3、啟動數(shù)據(jù)庫
4、查看多實例數(shù)據(jù)庫進程和監(jiān)聽端口
5、實例數(shù)據(jù)庫關(guān)閉和啟動
項目需求:
深入學習研究MySQL數(shù)據(jù)庫集群時,因環(huán)境原因,沒有更多的物理服務(wù)器去搭建部署集群環(huán)境,可以選擇使用多實例方式部署數(shù)據(jù)庫,完成集群環(huán)境的部署,實現(xiàn)一臺數(shù)據(jù)庫可更好的玩轉(zhuǎn)數(shù)據(jù)庫集群。如MySQL的主從復(fù)制和集群環(huán)境。
1、多實例數(shù)據(jù)庫環(huán)境規(guī)劃
1.1、多實例端口、數(shù)據(jù)目錄和配置文件。

image.png
物理服務(wù)器地址 多實例 172.21.209.125
端口 數(shù)據(jù)目錄 配置文件
3306 /data/mysql/3306/data /data/mysql/conf/my.3306.cnf
3307 /data/mysql/3307/data /data/mysql/conf/my.3307.cnf
3308 /data/mysql/3308/data /data/mysql/conf/my.3308.cnf
3309 /data/mysql/3309/data /data/mysql/conf/my.3309.cnf
3310 /data/mysql/3310/data /data/mysql/conf/my.3310.cnf
注:本次創(chuàng)建5個多實例用戶后續(xù)環(huán)境的集群搭建部署。
1.2、創(chuàng)建多實例數(shù)據(jù)目錄
[root@mysql03 data]# mkdir -p /data/mysql/330{6..9}
[root@mysql03 data]# mkdir -p /data/mysql/{3310,conf}
1.3、創(chuàng)建多實例配置文件
3306配置文件
cat > /data/mysql/conf/my.3306.cnf << EOF
[mysqld]
user=mysql
basedir=/usr/local/mysql
datadir=/data/mysql/3306/data
socket=/data/mysql/3306/data/mysql.sock
port=3306
[mysql]
default-character-set=utf8
collation-server = utf8_unicode_ci
init-connect='SET NAMES utf8'
character-set-server = utf8
socket=/data/mysql/3306/data/mysql.sock
[client]
default-character-set=utf8
EOF
3307、3308、3309、3310實例配置文件,通過復(fù)制拷貝3306的配置文件并修改對應(yīng)端口即可。
[root@mysql03 conf]# cp my.3306.cnf my.3307.cnf
[root@mysql03 conf]# cp my.3306.cnf my.3308.cnf
[root@mysql03 conf]# cp my.3306.cnf my.3309.cnf
[root@mysql03 conf]# cp my.3306.cnf my.3310.cnf
修改對應(yīng)端口
[root@mysql03 conf]# sed -i 's/3306/3307/g' my.3307.cnf
[root@mysql03 conf]# sed -i 's/3306/3308/g' my.3308.cnf
[root@mysql03 conf]# sed -i 's/3306/3309/g' my.3309.cnf
[root@mysql03 conf]# sed -i 's/3306/3310/g' my.3310.cnf
2、多實例數(shù)據(jù)庫初始化
數(shù)據(jù)初始化
[root@mysql03 conf]# mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql/3306/data
[root@mysql03 conf]# mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql/3307/data
[root@mysql03 conf]# mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql/3308/data
[root@mysql03 conf]# mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql/3309/data
[root@mysql03 conf]# mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql/3310/data
3、啟動數(shù)據(jù)庫
根據(jù)配置文件,后臺啟動多實例數(shù)據(jù)庫
[root@mysql03 conf]# mysqld --defaults-file=/data/mysql/conf/my.3306.cnf --user=root &
[root@mysql03 conf]# mysqld --defaults-file=/data/mysql/conf/my.3307.cnf --user=root &
[root@mysql03 conf]# mysqld --defaults-file=/data/mysql/conf/my.3308.cnf --user=root &
[root@mysql03 conf]# mysqld --defaults-file=/data/mysql/conf/my.3309.cnf --user=root &
[root@mysql03 conf]# mysqld --defaults-file=/data/mysql/conf/my.3310.cnf --user=root &
4、查看多實例數(shù)據(jù)庫進程和監(jiān)聽端口
多實例目錄
[root@mysql03 mysql]# pwd
/data/mysql
[root@mysql03 mysql]# ll
total 24
drwxr-xr-x 3 mysql mysql 4096 Oct 21 15:45 3306
drwxr-xr-x 3 root root 4096 Oct 21 16:32 3307
drwxr-xr-x 3 root root 4096 Oct 21 16:38 3308
drwxr-xr-x 3 root root 4096 Oct 21 16:39 3309
drwxr-xr-x 3 root root 4096 Oct 22 10:23 3310
drwxr-xr-x 2 root root 4096 Oct 22 10:23 conf
檢查進程
[root@mysql03 mysql]# ps -ef|grep mysql
polkitd 12085 12068 0 Oct21 ? 00:00:42 mysqld
mysql 12600 10814 0 Oct21 pts/2 00:00:34 mysqld --defaults-file=/data/mysql/conf/my.3307.cnf --user=root
mysql 12900 11290 0 Oct21 pts/3 00:00:33 mysqld --defaults-file=/data/mysql/conf/my.3308.cnf --user=root
mysql 12930 11290 0 Oct21 pts/3 00:00:33 mysqld --defaults-file=/data/mysql/conf/my.3309.cnf --user=root
mysql 15358 11290 0 10:24 pts/3 00:00:02 mysqld --defaults-file=/data/mysql/conf/my.3310.cnf --user=root
mysql 15412 11290 0 10:33 pts/3 00:00:01 mysqld --defaults-file=/data/mysql/conf/my.3306.cnf --user=root
root 15556 15495 0 11:23 pts/4 00:00:00 grep --color=auto mysql
監(jiān)聽端口
[root@mysql03 mysql]# netstat -lntup|grep 33
tcp6 0 0 :::3307 :::* LISTEN 12600/mysqld
tcp6 0 0 :::3308 :::* LISTEN 12900/mysqld
tcp6 0 0 :::3309 :::* LISTEN 12930/mysqld
tcp6 0 0 :::3310 :::* LISTEN 15358/mysqld
tcp6 0 0 :::3306 :::* LISTEN 15412/mysqld
5、實例數(shù)據(jù)庫關(guān)閉和啟動
多實例關(guān)閉服務(wù)
[root@mysql03 mysql]# mysqladmin -uroot -p123456 -S /data/mysql/3306/data/mysql.sock shutdown
[root@mysql03 mysql]# mysqladmin -uroot -p123456 -S /data/mysql/3307/data/mysql.sock shutdown
[root@mysql03 mysql]# mysqladmin -uroot -p123456 -S /data/mysql/3308/data/mysql.sock shutdown
[root@mysql03 mysql]# mysqladmin -uroot -p123456 -S /data/mysql/3309/data/mysql.sock shutdown
[root@mysql03 mysql]# mysqladmin -uroot -p123456 -S /data/mysql/3310/data/mysql.sock shutdown
跳過權(quán)限表后臺啟動多實例
[root@mysql03 mysql]# mysqld --defaults-file=/data/mysql/conf/my.3306.cnf --user=root --skip-grant-tables &
[root@mysql03 mysql]# mysqld --defaults-file=/data/mysql/conf/my.3307.cnf --user=root --skip-grant-tables &
[root@mysql03 mysql]# mysqld --defaults-file=/data/mysql/conf/my.3308.cnf --user=root --skip-grant-tables &
[root@mysql03 mysql]# mysqld --defaults-file=/data/mysql/conf/my.3309.cnf --user=root --skip-grant-tables &
[root@mysql03 mysql]# mysqld --defaults-file=/data/mysql/conf/my.3310.cnf --user=root --skip-grant-tables &
至此,多實例數(shù)據(jù)庫部署完成。