mysql的多實(shí)例是實(shí)現(xiàn)一臺服務(wù)器,運(yùn)行在不同端口不同數(shù)據(jù)文件的mysql,它們是相互獨(dú)立的,那么多實(shí)例要如何配置安裝呢,下面我們以linux為例子給各位朋友介紹.
在實(shí)際的開發(fā)過程中,可能會需要在一臺服務(wù)器上部署多個MYSQL實(shí)例,那建議使用MYSQL官方的解決方案 mysqld_multi.
1.修改my.cnf,如一個定義兩個實(shí)例的參考配置,代碼如下:
- [mysqld_multi]
- mysqld = /usr/local/mysql/bin/mysqld_safe
- mysqladmin = /usr/local/mysql/bin/mysqladmin
- user = your_user
- password = your_password
- [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.創(chuàng)建數(shù)據(jù)目錄,代碼如下:
- mkdir -p /data/db/my21
- mkdir -p /data/db/my2
- chown mysql.mysql /data/db/my1 -R
- chown mysql.mysql /data/db/my2 -R
3.初始化DB,代碼如下:
- /usr/local/mysql/scripts/mysql_install_db --datadir=/data/db/my1/ -uroot (mysql_install_db也是MYSQL官方自帶工具)
- /usr/local/mysql/scripts/mysql_install_db --datadir=/data/db/my2/ -uroot
- chown mysql.mysql /data/db/my1/ -R
- chown mysql.mysql /data/db/my2/ -R
4.安裝工具,代碼如下:
- cp /usr/local/mysql/bin/my_print_defaults /usr/bin/
- cp /usr/local/mysql/bin/mysqld_multi /usr/bin/
5.創(chuàng)建、授權(quán)用戶,代碼如下:
- CREATE USER "your_user"@"192.168.1.%" IDENTIFIED BY 'your_password';
- GRANT ALL PRIVILEGES ON *.* TO "your_user"@"192.168.1.%";
- flush privileges; //Vevb.com
至此,mysql多實(shí)例配置已經(jīng)完畢,我們看到多個不同的MYSQL實(shí)例是共用my.cnf的,多實(shí)例命令行管理.
1.mysql啟動,代碼如下:
mysqld_multi start 1 啟動實(shí)例1
mysqld_multi start 1-2 啟動實(shí)例1,2
2.mysql重啟,代碼如下:
mysqld_multi restart 1 重啟實(shí)例1
mysqld_multi restart 1-2 重啟實(shí)例1,2
3.mysql關(guān)閉,代碼如下:
mysqld_multi stop 1 關(guān)閉實(shí)例1
mysqld_multi stop 1-2 關(guān)閉實(shí)例1,2
4.命令行登陸實(shí)例2,代碼如下:
mysql -u your_user -p your_password -P3307 -S /tmp/mysql3307.sock
后面附另一文章的Mysqld_multi啟動、關(guān)閉、狀態(tài)檢查,要想調(diào)用mysqld_multi,使用下面的語法:
shell> mysqld_multi [options] {start|stop|report} [GNR[,GNR] ...]
start、stop和report表示你想要執(zhí)行的操作,你可以在單個服務(wù)器或多個服務(wù)器上執(zhí)行指定的操作,取決于選項(xiàng)名后面的GNR 列,如果沒有該列,mysqld_multi為選項(xiàng)文件中的所有服務(wù)器執(zhí)行該操作.
每個GNR值代表一個選項(xiàng)組號或組號范圍,GNR值應(yīng)為選項(xiàng)文件中組名末尾的號,例如,組[mysqld17]的GNR為17,要想指定組號的范圍,用破折號間隔開第1個和最后1個號,GNR值10-13代表組[mysqld10]到[mysqld13],可以在命令行中指定多個組或組范圍,用逗號間隔開,GNR列不能有空格字符(空格或tab);空格字符后面的內(nèi)容將被忽略掉.
該命令使用選項(xiàng)組[mysqld1]啟動單個服務(wù)器,代碼如下:
shell> /usr/local/mysql/bin/mysqld_multi --defaults-extra-file=/etc/my.cnf start 1
該命令停止多個服務(wù)器,使用選項(xiàng)組[mysql8]和[mysqld10]至[mysqld13],代碼如下:
shell>/usr/local/mysql/bin/mysqld_multi --defaults-extra-file=/etc/my.cnf stop 8,10-13
或者一下形式關(guān)閉單個服務(wù)器,代碼如下:
shell> mysqladmin -u root -S /tmp/mysql3306.sock shutdown
該命令查看多個服務(wù)器,使用選項(xiàng)組[mysql8]和[mysqld10]至[mysqld13],代碼如下:
shell>/usr/local/mysql/bin/mysqld_multi --defaults-extra-file=/etc/my.cnf report 8,10-13
新聞熱點(diǎn)
疑難解答
圖片精選