实现多个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. MySQL游标的使用笔记大全
  2. MySQL数据库性能优化的实际操作方案
  3. MySQL临时表的实际应用功能简介
  4. MySQL数据库NULL值的处理
  5. MySQL数据库和相关事务总结
责任编辑:佚名 来源: cnblogs
相关推荐

2010-06-09 17:36:45

MySQL数据库同步

2019-07-05 11:20:31

PythonMySQL数据库

2010-05-20 11:23:12

卸载MySQL

2010-05-31 09:44:38

2011-07-05 10:16:16

Qt 数据库 SQLite

2010-05-12 18:41:34

MySQL数据库

2019-10-12 16:15:13

MySQL数据库多实例

2011-07-05 16:08:10

2011-07-12 16:41:14

mysql处理异常

2010-05-20 14:52:42

MySQL数据库

2010-06-10 12:17:27

MySQL数据库

2009-12-31 11:10:01

2010-06-02 11:34:23

MySQL 数据库导入

2011-07-05 18:04:45

QT Mysql

2010-06-02 16:57:50

MySQL数据库同步

2011-03-24 16:01:30

数据库管理

2023-10-29 17:15:57

2009-04-07 13:42:41

OracleStatspack诊断

2010-06-04 10:40:55

AJAX MySQL

2010-06-12 17:55:23

MySQL数据库同步
点赞
收藏

51CTO技术栈公众号