MySQL多例項配置

misakivv發表於2024-03-26

目錄
  • 一、什麼是多例項
  • 二、MySQL多例項配置
    • 1、建立資料目錄
    • 2、建立配置檔案
    • 3、編輯330{7..9}的配置檔案
    • 4、初始化330{7..9}資料
    • 5、修改目錄許可權
    • 6、啟動多例項
    • 7、檢視server_id
    • 8、進入單獨的MySQL例項
    • 9、關閉例項

一、什麼是多例項

Mysql多例項就是在一臺伺服器上同時開啟多個不同的服務埠(3306、3307),它們共享硬體資源但有各自獨立的配置檔案、資料檔案和服務埠。同時執行多個Mysql服務程序,這些服務程序透過不同的socket監聽不同的服務埠來提供服務。

二、MySQL多例項配置

1、建立資料目錄

[root@localhost ~]# mkdir -p /data/330{7..9}

2、建立配置檔案

[root@localhost ~]# touch /data/330{7..9}/my.cnf
[root@localhost ~]# touch /data/330{7..9}/mysql.log

3、編輯330{7..9}的配置檔案

/data/3307/my.cnf

[root@localhost ~]# vim /data/3307/my.cnf
[root@localhost ~]# cat /data/3307/my.cnf
[mysqld]
basedir=/application/mysql
datadir=/data/3307/data
socket=/data/3307/mysql.sock
log_error=/data/3307/mysql.log
log-bin=/data/3307/mysql-bin
server_id=7
port=3307
[client]
socket=/data/3307/mysql.sock

image-20240326205039401


/data/3308/my.cnf

[root@localhost ~]# vim /data/3308/my.cnf
[root@localhost ~]# cat /data/3308/my.cnf
[mysqld]
basedir=/application/mysql
datadir=/data/3308/data
socket=/data/3308/mysql.sock
log_error=/data/3308/mysql.log
log-bin=/data/3308/mysql-bin
server_id=8
port=3308
[client]
socket=/data/3308/mysql.sock

image-20240326205130493


/data/3309/my.cnf

[root@localhost ~]# vim /data/3309/my.cnf
[root@localhost ~]# cat /data/3309/my.cnf
[mysqld]
basedir=/application/mysql
datadir=/data/3309/data
socket=/data/3309/mysql.sock
log_error=/data/3309/mysql.log
log-bin=/data/3309/mysql-bin
server_id=9
port=3309
[client]
socket=/data/3309/mysql.sock

image-20240326205235230

4、初始化330{7..9}資料

初始化3307資料

/application/mysql/scripts/mysql_install_db \
--user=mysql \
--defaults-file=/data/3307/my.cnf \
--basedir=/application/mysql --datadir=/data/3307/data

初始化3308資料

/application/mysql/scripts/mysql_install_db \
--user=mysql \
--defaults-file=/data/3308/my.cnf \
--basedir=/application/mysql --datadir=/data/3308/data

初始化3309資料

/application/mysql/scripts/mysql_install_db \
--user=mysql \
--defaults-file=/data/3309/my.cnf \
--basedir=/application/mysql --datadir=/data/3309/data

5、修改目錄許可權

[root@localhost ~]# chown -R mysql.mysql /data/330*

6、啟動多例項

mysqld_safe --defaults-file=/data/3307/my.cnf &
mysqld_safe --defaults-file=/data/3308/my.cnf &
mysqld_safe --defaults-file=/data/3309/my.cnf &

7、檢視server_id

mysql -S /data/3307/mysql.sock -e "show variables like 'server_id'"
mysql -S /data/3308/mysql.sock -e "show variables like 'server_id'"
mysql -S /data/3309/mysql.sock -e "show variables like 'server_id'"

image-20240326211641665

8、進入單獨的MySQL例項

mysql -S /data/3307/mysql.sock -uroot
mysql -S /data/3308/mysql.sock -uroot
mysql -S /data/3309/mysql.sock -uroot

9、關閉例項

mysqladmin -S /data/3307/mysql.sock -uroot shutdown
mysqladmin -S /data/3308/mysql.sock -uroot shutdown
mysqladmin -S /data/3309/mysql.sock -uroot shutdown

至此MySQL的多例項配置完成

相關文章