MySql(mysql-5.1.26)主主同步配置详解,OS (CentOS 5.9 X64)
之前写主从,弄一个主主,
A、安装环境描述
服务器A(主) 192.168.1.112
服务器B(主) 192.168.1.113
Mysql版本:mysql-5.1.26
System OS:CentOS 5.9 X64
B、如何配置
之前在配置主从的时候,需要主机为从建立一个连接账户,并且对该账户授予replication slave ,那么现在是双主,112和113俩台机器都是要进行创建
连接账号
1、在112和113服务器上分别执行以下代码
服务器A(112)
grant replication slave on *.* to 'rep'@'192.168.1.113' identified by '123456';
flush privileges;
服务器B(113)
grant replication slave on *.* to 'rep'@'192.168.1.%' identified by '123456';
flush privileges;
2、分别在A、B服务器上修改/etc/my.cnf 配置文件
服务器A(112)
[mysqld]
server-id = 1
log-bin=/usr/local/mysql/binlog
binlog-do-db = mo
binlog-ignore-db=mysql
#主主需加入的部分
log-slave-updates
sync_binlog=1
auto_increment_offset=1
auto_increment_increment=2
replicate-do-db = mo
replicate-ignore-db = mysql,information_schema
服务器B(113)
[mysqld]
server-id = 2
log-bin = /usr/local/mysql/binlog
replicate-do-db = mo
replicate-ignore-db = mysql,information_schema
#主主需要加入部分
binlog-do-db = mo
binlog-ignore-db=mysql
log-slave-updates
sync_binlog=1
auto_increment_offset=2
auto_increment_increment=2
3、重启A/B服务器上的mysql服务
service mysqld restart
4、使用mysql -u root -pxx 登陆AB服务器
在A服务器上执行如下命令
flush tables with read lock;
show master status\G
unlock
在B服务器上执行如下命令
show master status\G
5、比较重要的的设置,分别在AB上使用change master
A服务器上执行
mysql>change master to master_host='192.168.1.113', master_user='rep', master_password='123456', master_log_file='mysql-bin.000003', master_log_pos=106;
B 服务器上执行
mysql>change master to master_host='192.168.1.112', master_user='rep', master_password='123456', master_log_file='mysql-bin.000003', master_log_pos=106;
6、启动双主机上的服务器线程,以保证数据同步成功
mysql> start slave;
7、和主从一样,在AB服务上分别查询slave 线程的状态
mysql>show slave status\G;
如果 可以看到Slave_IO_Running:YES 和Slave_SQL_Running:Yes,就表示OK了
8、测试
分别在AB服务器测试数据,都能互为同步数据。就表式搭建成功了。就不贴图了...