MySQL多實例是在同一臺數據庫服務器上,通過開啓多個不同的服務端口,並被對應的socket監聽,以實現同時運行多個MySQL服務進程的目的。
實驗環境
此文章在《MySQL運維-1,單實例安裝》後,所用環境也是上一篇實驗部署成功後的實驗環境。
mysql實例1安裝目錄:/data/3306
mysql實例1數據文件目錄:/data/3306/dbfile
mysql實例2安裝目錄:/data/3307
mysql實例2數據文件目錄:/data/3307/dbfile
停止MySQL
[]# service mysqld stop
Shutting down MySQL. [確定]
[]# service mysqld status
MySQL is not running [失敗]
創建對應目錄
[]# mkdir -p /data/{3306,3307}/dbfile
[]# chown -R mysql:mysql /data/
修改配置文件
[]# cp /opt/soft/mysql-5.5.32/support-files/my-medium.cnf /data/3306/my.cnf
[]# cp /opt/soft/mysql-5.5.32/support-files/my-medium.cnf /data/3307/my.cnf
vim /data/3306/my.cnfport = 3306 socket = /data/3306/mysql.sock datadir = /data/3306/dbfile
vim /data/3307/my.cnf
port = 3307 socket = /data/3307/mysql.sock datadir = /data/3307/dbfile
初始化數據庫
[]# /app/mysql/scripts/mysql_install_db --basedir=/app/mysql --datadir=/data/3306/dbfile --user=mysql
[]# /app/mysql/scripts/mysql_install_db --basedir=/app/mysql --datadir=/data/3307/dbfile --user=mysql
啓動驗證
[]# mysqld_safe --defaults-file=/data/3306/my.cnf 2>&1 >/dev/null &
[]# mysqld_safe --defaults-file=/data/3307/my.cnf 2>&1 >/dev/null &
[]# netstat -anpt | grep 3306
tcp 0 0 0.0.0.0:3306 0.0.0.0: LISTEN 5123/mysqld
[]# netstat -anpt | grep 3307
tcp 0 0 0.0.0.0:3307 0.0.0.0: LISTEN 5395/mysqld
添加root登陸密碼
[]# mysqladmin -uroot -S /data/3306/mysql.sock password '1qaz3edc'
[]# mysqladmin -uroot -S /data/3307/mysql.sock password '1qaz3edc'
連接數據庫
[]# mysql -u'root' -p'1qaz3edc' -S /data/3306/mysql.sock
[]# mysql -u'root' -p'1qaz3edc' -S /data/3307/mysql.sock
關閉數據庫
[]# mysqladmin -uroot -p'1qaz3edc' -S /data/3306/mysql.sock shutdown
[]# mysqladmin -uroot -p'1qaz3edc' -S /data/3307/mysql.sock shutdown