首页 > 数据库 > MySQL > 正文

MYSQL多实例配置与使用教程

2024-07-24 12:36:40
字体:
来源:转载
供稿:网友

mysql的多实例是实现一台服务器,运行在不同端口不同数据文件的mysql,它们是相互独立的,那么多实例要如何配置安装呢,下面我们以linux为例子给各位朋友介绍.

在实际的开发过程中,可能会需要在一台服务器上部署多个MYSQL实例,那建议使用MYSQL官方的解决方案 mysqld_multi.

1.修改my.cnf,如一个定义两个实例的参考配置,代码如下:

  1. [mysqld_multi] 
  2. mysqld = /usr/local/mysql/bin/mysqld_safe 
  3. mysqladmin = /usr/local/mysql/bin/mysqladmin 
  4. user = your_user 
  5. password = your_password 
  6.  
  7. [mysqld1] 
  8. datadir = /data/db/my1 
  9.  
  10. #连接 
  11. port = 3306 
  12. socket = /tmp/mysql3306.sock 
  13.  
  14. #binlog 
  15. log-bin=/data/db/mylog1/mysql-bin 
  16. binlog_format=mixed 
  17. binlog_cache_size = 32M 
  18. expire_logs_days = 30 
  19.  
  20. [mysqld2] 
  21. datadir = /data/db/my2 
  22.  
  23. #连接 
  24. port = 3307 
  25. socket = /tmp/mysql3307.sock 
  26.  
  27. #binlog 
  28. log-bin=/data/db/mylog2/mysql-bin 
  29. binlog_format=mixed 
  30. binlog_cache_size = 32M 
  31. expire_logs_days = 3 

2.创建数据目录,代码如下:

  1. mkdir -p /data/db/my21 
  2. mkdir -p /data/db/my2 
  3. chown mysql.mysql /data/db/my1 -R 
  4. chown mysql.mysql /data/db/my2 -R  

3.初始化DB,代码如下:

  1. /usr/local/mysql/scripts/mysql_install_db --datadir=/data/db/my1/ -uroot (mysql_install_db也是MYSQL官方自带工具) 
  2. /usr/local/mysql/scripts/mysql_install_db --datadir=/data/db/my2/ -uroot 
  3. chown mysql.mysql /data/db/my1/ -R 
  4. chown mysql.mysql /data/db/my2/ -R 

4.安装工具,代码如下:

  1. cp /usr/local/mysql/bin/my_print_defaults /usr/bin/ 
  2. cp /usr/local/mysql/bin/mysqld_multi /usr/bin/ 

5.创建、授权用户,代码如下:

  1. CREATE USER "your_user"@"192.168.1.%" IDENTIFIED BY 'your_password'
  2. GRANT ALL PRIVILEGES ON *.* TO "your_user"@"192.168.1.%"
  3. flush privileges; //Vevb.com

至此,mysql多实例配置已经完毕,我们看到多个不同的MYSQL实例是共用my.cnf的,多实例命令行管理.

1.mysql启动,代码如下:

mysqld_multi start 1 启动实例1

mysqld_multi start 1-2 启动实例1,2

2.mysql重启,代码如下:

mysqld_multi restart 1 重启实例1

mysqld_multi restart 1-2 重启实例1,2

3.mysql关闭,代码如下:

mysqld_multi stop 1 关闭实例1

mysqld_multi stop 1-2 关闭实例1,2

4.命令行登陆实例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值应为选项文件中组名末尾的号,例如,组[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

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表