原文http://www.111cn.net/database/mysql/58651.htm
在實際的開發過程中,可能會需要在一台服務器上部署多個MYSQL實例,那建議使用MYSQL官方的解決方案 mysqld_multi
1.修改my.cnf
如一個定義兩個實例的參考配置:
[mysqld1]
datadir = /data/db/my1
#連接
port = 3306
socket = /tmp/mysql3306.sock
#binlog
log-bin=/data/db/mylog1/mysql-bin
binlog_format=mixed
binlog_cache_size = 32M
expire_logs_days = 30
[mysqld2]
datadir = /data/db/my2
#連接
port = 3307
socket = /tmp/mysql3307.sock
#binlog
log-bin=/data/db/mylog2/mysql-bin
binlog_format=mixed
binlog_cache_size = 32M
expire_logs_days = 3
2.創建數據目錄
3.初始化DB
代碼如下 /usr/local/mysql/scripts/mysql_install_db --datadir=/data/db/my1/ -uroot (mysql_install_db也是MYSQL官方自帶工具)4. 安裝工具
代碼如下 www.111cn.net cp /usr/local/mysql/bin/my_print_defaults /usr/bin/5.創建、授權用戶
代碼如下 CREATE USER "your_user"@"192.168.1.%" IDENTIFIED BY 'your_password';至此,mysql多實例配置已經完畢。我們看到多個不同的MYSQL實例是共用my.cnf的。多實例命令行管理:
1.mysql啟動
2.mysql重啟
代碼如下 mysqld_multi restart 1 重啟實例13.mysql關閉
代碼如下 mysqld_multi stop 1 關閉實例14.命令行登陸實例2
代碼如下 mysql -u your_user -p your_password -P3307 -S /tmp/mysql3307.sock
後面附另一文章的
Mysqld_multi啟動、關閉、狀態檢查
要想調用mysqld_multi,使用下面的語法:
shell> mysqld_multi [options] {start|stop|report} [GNR[,GNR] ...]
start、stop和report表示你想要執行的操作。你可以在單個服務器或多個服務器上執行指定的操作,取決於選項名後面的GNR 列。如果沒有該列,mysqld_multi為選項文件中的所有服務器執行該操作。
每個GNR值代表一個選項組號或組號范圍。GNR值應為選項文件中組名末尾的號。www.111cn.net 例如,組[mysqld17]的GNR為17。要想指定組號的范圍,用破折號間隔開第1個和最後1個號。GNR值10-13代表組[mysqld10]到[mysqld13]。可以在命令行中指定多個組或組范圍,用逗號間隔開。GNR列不能有空格字符(空格或tab);空格字符後面的內容將被忽略掉。
該命令使用選項組[mysqld1]啟動單個服務器:
代碼如下 shell> /usr/local/mysql/bin/mysqld_multi --defaults-extra-file=/etc/my.cnf start 1該命令停止多個服務器,使用選項組[mysql8]和[mysqld10]至[mysqld13]:
代碼如下 shell>/usr/local/mysql/bin/mysqld_multi --defaults-extra-file=/etc/my.cnf stop 8,10-13或者一下形式關閉單個服務器
代碼如下 shell> mysqladmin -u root -S /tmp/mysql3306.sock shutdown該命令查看多個服務器,使用選項組[mysql8]和[mysqld10]至[mysqld13]:
代碼如下 shell>/usr/local/mysql/bin/mysqld_multi --defaults-extra-file=/etc/my.cnf report 8,10-13 你可能感興趣的文章