一台服務上已經安裝了mysql執行個體,可通過mysqld_multi命令新增執行個體
1.假設該伺服器上有一原有mysql執行個體,其basedir為/usr/local/mysql, 其資料目錄為/usr/local/mysql/data,設定檔為/etc/my.cnf
# mkdir /opt/mysql3308
# cp –rfp /usr/local/data/mysql /opt/mysql3308/
# 假設這個建立的執行個體其資料目錄放在/opt/mysql3308
因測試原因,將原有mysql一執行個體的mysql資料庫拷貝到/opt/mysql3308下,這樣此新增執行個體就不需要運行mysql_install_db這一步了。
# chown –R mysql:mysql /opt/mysql3308
# vi /etc/my.cnf
在檔案的一開頭,進行如此設定,儲存退出.
[mysqld_multi]
mysqld = /usr/local/mysql/bin/mysqld_safe
mysqladmin = /usr/local/mysql/bin/mysqladmin
user=root
password=12345678
# 這裡的user password為這台伺服器中各mysql執行個體有許可權關閉該執行個體的使用者與密碼.
若各執行個體的root使用者不設定密碼,那麼這裡的user password這兩行就不需要書寫.
若各執行個體的root使用者佈建密碼,那麼各執行個體中配置的這個user password就必須一致,不然不一致的執行個體就會通過mysqld_multi關閉不成功
log = /usr/local/mysql/data/mysqld_multi.log
[mysqld2] # 伺服器中原先存在的執行個體把原來的 [mysqld] 改為 [mysqld1];新增的執行個體為[mysqld2],依次下去.
user=mysql
pid-file=/tmp/3308.pid
port=3308
socket=/tmp/mysql3308.sock
basedir=/usr/local/mysql
datadir=/opt/mysql3308
#server-id=3308 # 此參數server-id在設定資料庫主從複製時可以啟用
# Example MySQL config file for large systems.
#
# This is for a large system with memory = 512M where the system runs mainly
# MySQL.
# mysqld_multi start 2
# 啟動該新增新例
此時netstat –ntl,應該可以看到3308連接埠已經啟動
ps –ef|grep mysql,應該可以該新增執行個體的參數。
# ./bin/mysql –uroot –S /tmp/mysql3308.sock
# 該命令為串連該資料庫執行個體.