mysql_multi是用來管理多個mysql實例的腳本命令。這個實驗主要是編輯my.cnf。首先要創建多個不同的目錄用於存放不同的實例。然後用bin/mysql_install_db --basedir=mysql的目錄 --datadir=數據存放的目錄 --user=所屬的用戶,創建好了多個mysql實例後就編輯文檔my.cnf在裡面加上:
[mysqld_multi]
mysqld=/usr/local/mysql/bin/mysqld_safe(根據自己的安裝路徑)
mysqladmin=/usr/local/mysql/bin/mysqladmin(根據自己的安裝路徑)
user=mysql
password=123456
[mysql3306(必須是整數每個實例都不相同)]
port=3306(每個實例的端口號必須是不同的)
socket=/tmp/mysql3306.sock(每個實例socket文件名字不能相同)
pid-file=/tmp/mysql3306.pid(每個實例的pid名字不能相同)
basedir=mysql存放的目錄
datadir=mysql實例存放的路徑
.
.
.
其它的參數可以根據自己的需要增減。
在用mysqld_multi --defaults-file=/etc/my.cnf --user=mysql start 端口號。進行啟動。
用mysql -S /tmp/mysql3306.sock進行連接。
也可以用mysql -u mysql -P 端口號 --protocol=tcp進行連接。
連接上去後要創建用戶和密碼不然不能關掉mysql實例。
創建的用戶名和密碼要和my.cnf文件裡的[mysqld_multi]下面的user和password一致。
創建的命令是:grant shutdown on *.* to root@localhost identified by 123456;
用show grants for mysql@localhost;可以查看用戶的權限等信息。