目录
创建同步用户、修改 /etc/my.cnf 配置文件,为其添加以下内容、分别重启服务器ODD EVEN 上的mysql服务。
MySQL 主主同步配置
服务器名 | IP | 系统 | MySQL |
---|---|---|---|
odd.example.com | 192.168.1.116 | rhel-5.8 | 5.5.16 |
even.example.com | 192.168.1.115 | rhel-5.8 | 5.5.16 |
假设要同步的库是 db_rocky
一 创建同步用户
在 ODD上
1 | mysql> grant replication slave on *.* to 'water'@'192.168.1.115' identified by 'cdio2010'; |
在 EVEN 上
1 | mysql> grant replication slave on *.* to 'water'@'192.168.1.116' identified by 'cdio2010'; |
二 修改 /etc/my.cnf 配置文件,为其添加以下内容:
在 ODD 上
1 | [mysqld] |
在 EVEN 上
1 | [mysqld] |
注:二都只有server-id不同和 auto-increment- offset不同auto-increment-increment的值应设为整个结构中服务器的总数,本案例用到两 台服务器,所以值设为2。
三 分别重启服务器ODD EVEN 上的mysql服务
四 分别在服务器ODD、EVEN 上查看做为主服务器状态
在ODD
1 | mysql> flush tables with read lock;#防止进入新的数据 |
在EVEN
1 | mysql> flush tables with read lock; |
五 分别在服务器ODD、EVEN上用change master语句指定同步位置:
在ODD
1 | mysql> change master to master_host='192.168.1.115',master_user='water',master_password='cdio2010', |
在EVEN
1 | mysql> change master to master_host='192.168.1.116',master_user='water',master_password='cdio2010', |
注:master_log_file,master_log_pos由上面主服务器查出的状态值中确定
master_log_file对应File,master_log_pos对应Position
在ODD EVEN上
1 | mysql> unlock tables; |
六 分别在服务器ODD、EVEN上启动从服务器线程
1 | mysql> start slave; |
分别在服务器ODD、EVEN上查看从服务器状态 :
1 | ODD上 |
七 测试
1 | EVEN 上 |