当前位置: 代码迷 >> MySQL >> 准确配置Mysql5的双主从
  详细解决方案

准确配置Mysql5的双主从

热度:121   发布时间:2016-05-05 16:48:47.0
正确配置Mysql5的双主从

1、官方的中文版资料(有点长耐心看)
http://dev.mysql.com/doc/refman/5.1/zh/replication.html#replication-intro
基本了解Mysql的复制是什么回事

2、配置Mysql主从(接下来就要开始动手,本文所有操作在Linux下)
?? 1) 确定主从的Mysql版本要一致。
????? 查看方法:
????? 登入Mysql数据库
????? #mysql -u root -p
????? 输入密码Mysql密码,进入系统。查看Mysql版本。
????? select version(); 我的数据库版本是5.6.26-log

?? 2) 准备工作
?????? 首先要做的事情就是要确保每台服务器上的数据库,在相同的状态。
?????? 把主上的数据备份,再导入从,主为Server A, 从为Server B。
?????? Server A command line>?mysqldump -u <mysql user> -p <mysql databasename> >mysql.sql
?????? Server B command line>?mysql -u <mysql user> -p <mysql.sql


?? 3) 创建从用户
????? 接下来要做的事情是建立一个"从用户"每个两个服务器上。这些用户是由MySQL为从主站的连接,并需要给予特定的特权。
????? Creating A Slave User(192.168.189.135):
? ? ? CREATE USER 'rep1'@'localhost' IDENTIFIED BY '123456';?

? ? ? grant replication slave ?on *.* to 'rep1'@'192.168.189.136' identified by '123456' with grant option;?

? ? ? Creating A Slave User(192.168.189.136):

? ? ? CREATE USER 'rep1'@'localhost' IDENTIFIED BY '123456';?

? ? ? grant replication slave ?on *.* to 'rep2'@'192.168.189.135' identified by '123456' with grant option;?

?

?? 4) 配置My.cnf
????? 接下来要做的事情是配置每个MySQL服务器。你需要知道每个服务器的IP地址。

?? ?在每台服务器上,你需要编辑你的MySQL服务器配置文件(通常称为my.cnf或my.ini)。

?? ?下面是需要被添加到服务器A的配置:
? ?server-id = 1

? ?replicate-do-db = testdb

? ?replicate-ignore-db = mysql

? ?replicate-ignore-db = information_schema

? ?log-bin = mysql-bin


?? ?下面是需要被添加到服务器B的配置:

? ?server-id = 2

? ?replicate-do-db = testdb

? ?replicate-ignore-db = mysql

? ?replicate-ignore-db = information_schema

? ?log-bin = mysql-bin


?? ?使您的配置更改后,重新启动在两台服务器。检查你的MySQL错误日志中的任何问题。

?? 5) 服务器同步
????? 在每台服务器上的MySQL命令行,
? ? ??stop? slave ;

????? show master status;





????? 记录File与Position,接下在每台服务器上执行以下命令:


????? Server MySQL command line> CHANGE MASTER TO MASTER_HOST='<master's IP>', MASTER_USER='<slave user>', MASTER_PASSWORD='<slave password>', MASTER_LOG_FILE='<master's log file name>', MASTER_LOG_POS=<master's log file position>;

????? 执行完命令,在两台服务器上启动复制现在应该工作


????? START SLAVE
? ? ? SHOW SLAVE STATUS /G


???? 确认复制工作,两台服务器上的"SHOW SLAVE STATUS /G"命令。无论是"Slave_IO_Running"和"Slave_SQL_Running"应该是"YES"。如果两者都没有,您将需要重新设置复制。

?? 6) 测试

????? 在Server A中插入一条记录查看Server B中是否有,如有则设置成功。

?

原文:http://www.neocodesoftware.com/replication/

  相关解决方案