目錄
- 一、什麼是多例項
- 二、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
/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
/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
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'"
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的多例項配置完成