程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> 實現多個MySQL數據庫實例管理,用mysqld_multi!

實現多個MySQL數據庫實例管理,用mysqld_multi!

編輯:MySQL綜合教程

以下的文章主要是向大家介紹的是使用mysqld_multi來對多個MySQL數據庫實例進行管理的實際操作流程,MySQL數據庫是可以多主一從的來進行實時備份,在google下可以使用mysqld_multi來管理多個MySQL實例。

之前有想過在一台服務器上運行多個MySQL實例就可以實現一從多主的master-slave方式的實時備份,今天剛好看到mysqld-multi就動手測試下配置過程如下,

1. 修改mysql的配置文件my.cnf配置mysqld_multi的選項

  1. [mysqld_multi]  
  2. mysqld = /usr/local/mysql/bin/mysqld_safe  
  3. mysqladmin = /usr/local/mysql/bin/mysqladmin  
  4. user = multi_admin 
  5. password = multipass 
  6. log = /usr/local/mysql/etc/mysqld_multi.log 

2. 創建mysqld_multi的config-file

  1. cat /usr/local/mysql/etc/mysqld_multi.cnf   
  2. [mysqld1]  
  3. socket = /tmp/mysql.sock1  
  4. port = 3306 
  5. pid-file = /usr/local/mysql/var1/localhost.pid  
  6. datadir = /usr/local/mysql/var1  
  7. user = mysql 
  8. [mysqld2]  
  9. socket = /tmp/mysql.sock2  
  10. port = 3307 
  11. pid-file = /usr/local/mysql/var2/localhost.pid  
  12. datadir = /usr/local/mysql/var2  
  13. user = mysql 
  14. [mysqld3]  
  15. socket = /tmp/mysql.sock3  
  16. port = 3308 
  17. pid-file = /usr/local/mysql/var3/localhost.pid  
  18. datadir = /usr/local/mysql/var3  
  19. user = mysql 

3. 拷貝mysqld_multi.server在源代碼的support-files中)腳本到/usr/sbin

  1. cp /mysql_source/support-files/mysqld_multi.server /usr/sbin 

4. 編輯/usr/sbin/mysqld_multi.server(添加–config-file=/usr/local/mysql/etc/mysqld_multi.cnf選項)

  1. 'start' )  
  2. "$mysqld_multi" start $2  
  3. ;;  
  4. 'stop' )  
  5. "$mysqld_multi" --config-file=/usr/local/mysql/etc/mysqld_multi.cnf stop $2  
  6. ;;  
  7. 'report' )  
  8. "$mysqld_multi" --config-file=/usr/local/mysql/etc/mysqld_multi.cnf report $2 

5. 啟動多個MySQL數據庫實例

  1. mysqld_multi.server start 

6. 之前在my.cnf設置的user和password是用來關閉數據庫實例的,根據配置中的用戶名和密碼授權該用戶shutdown權限

  1. mysql -u root -S /tmp/mysql.sock1 -p  
  2. mysql> grant shutdown on *.* to multi_admin@'localhost' identified by 'multipass'; 

7. 關閉所有數據庫實例

  1. mysqld_multi.server stop 

8. 對單台數據庫的啟動和關閉

語法:mysqld_multi [options] {start|stop|report} [GNR[,GNR] …]

如對mysqld1的啟動和關閉,可以通過mysqld_multi來操作

啟動: mysqd_multi start 1

關閉: mysqd_multi stop 1

也可以同時啟動和關閉多個MySQL數據庫實例

啟動: mysqd_multi start 1-3

關閉: mysqd_multi stop 1-3

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved