MySQL單機多執行個體方案,是指在一台物理伺服器上運行多個MySQL資料庫執行個體。
MySQL單機多執行個體的優點:
1、節省成本,減少伺服器、IP、機櫃的數量,總體運營成本低於單機單一實例方案。
2、提升利用率,利用NUMA特性,對MySQL執行個體進行CPU綁定。
3、提升使用者體驗,大幅度提高IO回應時間,有助於提升使用者的體驗。
MySQL多執行個體部署的具體實施
1、MySQL多執行個體目錄的規劃(資料目錄設定檔目錄)
執行個體1
資料路徑:
/home/mysql/data
設定檔路徑:
/usr/local/mysql5/etc/lyq314.cnf
執行個體2
資料路徑:
/home/mysql/data_log
設定檔路徑:
/usr/local/mysql5/etc/lyq314_log.cnf
2、MySQL多執行個體設定檔的修改
執行個體1 設定檔修改(可以不用修改)
vim/usr/local/mysql5/etc/lyq314.cnf
18 [client]
19 #password= your_password
20 port= 3306
21 socket= /tmp/mysql.sock
22
23 # Here follows entries for some specific programs
24
25 # The MySQL server
26 [mysqld]
27 port= 3306
28 socket= /tmp/mysql.sock
29 pid-file= mysql.pid
30 skip-external-locking
31 skip-name-resolve
執行個體2 設定檔修改(修改port和socket)
vim/usr/local/mysql5/etc/lyq314_log.cnf
18 [client]
19 #password= your_password
20 port= 3307
21 socket= /tmp/mysql_log.sock
22
23 # Here follows entries for some specific programs
24
25 # The MySQL server
26 [mysqld]
27 port= 3307
28 socket= /tmp/mysql_log.sock
29 pid-file= mysql.pid
30 skip-external-locking
31 skip-name-resolve
3、MySQL多執行個體的啟動
執行個體1 啟動
[root@lyq314~]#/usr/local/mysql5/bin/mysqld_safe--defaults-file=/usr/local/mysql5/etc/lyq314.cnf --datadir=/home/mysql/data --user=mysql &
[root@lyq314~]# 130715 01:03:11 mysqld_safe Logging to '/home/mysql/data/lyq314.err'.
130715 01:03:11 mysqld_safe Starting mysqld daemon with databases from /home/mysql/data
[root@lyq314~]# netstat -ntlp |grep mysql
tcp 00 0.0.0.0: 3306 0.0.0.0: * LISTEN8353/mysqld
執行個體2啟動
[root@lyq314~]#/usr/local/mysql5/bin/mysqld_safe--defaults-file=/usr/local/mysql5/etc/lyq314_log.cnf --datadir=/home/mysql/data_log --user=mysql &
[root@lyq314~]# 130715 01:08:53 mysqld_safe Logging to '/home/mysql/data_log/lyq314.err'.
130715 01:08:54 mysqld_safe Starting mysqld daemon with databases from /home/mysql/data_log
[root@lyq314 ~]# netstat -nltp |grep mysql
tcp 00 0.0.0.0: 3306 0.0.0.0: * LISTEN8962/mysqld
tcp 00 0.0.0.0: 3307 0.0.0.0: * LISTEN9085/mysqld
4、MySQL多執行個體的進入
執行個體1的進入(通過port和socket兩中方式)
[root@lyq314 ~]# /usr/local/mysql5/bin/mysql -uroot -p -h127.0.0.1 -P3306
[root@lyq314 ~]# /usr/local/mysql5/bin/mysql -uroot -p -h127.0.0.1 --port=3306
[root@lyq314 ~]# /usr/local/mysql5/bin/mysql -uroot -p -S /tmp/mysql.sock
[root@lyq314 ~]# /usr/local/mysql5/bin/mysql -uroot -p --socket=/tmp/mysql.sock
執行個體2的進入(通過port和socket兩中方式)
[root@lyq314 ~]# /usr/local/mysql5/bin/mysql -uroot -p -h127.0.0.1 -P3307
[root@lyq314 ~]# /usr/local/mysql5/bin/mysql -uroot -p -h127.0.0.1 --port=3307
[root@lyq314 ~]# /usr/local/mysql5/bin/mysql -uroot -p -S /tmp/mysql_log.sock
[root@lyq314 ~]# /usr/local/mysql5/bin/mysql -uroot -p --socket=/tmp/mysql_log.sock
5、MySQL 多執行個體的關閉
執行個體1關閉
/usr/local/mysql5/bin/mysqladmin-uroot -p -h127.0.0.1 -P3306 shutdown
/usr/local/mysql5/bin/mysqladmin-uroot -p -h127.0.0.1 -P3306 shutdown
/usr/local/mysql5/bin/mysqladmin-uroot -p -S /tmp/mysql.sockshutdown
/usr/local/mysql5/bin/mysqladmin-uroot -p –socket= /tmp/mysql.sockshutdown
執行個體2關閉
/usr/local/mysql5/bin/mysqladmin-uroot -p -h127.0.0.1 -P3307 shutdown
/usr/local/mysql5/bin/mysqladmin-uroot -p -h127.0.0.1 -P3307 shutdown
/usr/local/mysql5/bin/mysqladmin-uroot -p -S /tmp/mysql_log.sockshutdown
/usr/local/mysql5/bin/mysqladmin-uroot -p –socket= /tmp/mysql_log.sockshutdown
生產環境MySQL 5.5.x單機多執行個體配置實踐