1. 环境:CentOS5.5 x84,MySQL5.5.15
2. 两台机器:master1:192.168.5.143master2:192.168.0.149
3. 单独编译安装MySQL,并测试连接成功。
4. 两台机器上都建立用户,并赋予复制权限:master1:
- mysql> CREATE USER "test12"@"%";
- mysql> GRANT REPLICATION SLAVE ON *.* TO "test12"@"%" IDENTIFIED BY "test12";
master2:
- mysql> CREATE USER "test34"@"192.168.5.143";
- mysql> GRANT REPLICATION SLAVE ON *.* TO "test34"@"192.168.5.143" IDENTIFIED BY "test34";
host是随便设置的,只要是对方可以连接上即可。权限方面,只需要有REPLICATION SLAVE权限即可。
5. master1上的my.cnf添加:
- [mysqld]
- # for repl
- server-id = 1
- log-bin = mysql-bin
- auto-increment-increment= 2 # 应设为整个结构中服务器的总数
- auto-increment-offset = 1 # 设定数据库中自动增长的起点,避免两台服务器数据同步时出现主键冲突
6. master2上的my.cnf添加:
- [mysqld]
- # for repl
- server-id = 2
- log-bin = mysql-bin
- auto-increment-increment= 2
- auto-increment-offset = 1
7. 重启两台机器上的服务。
8. master1上指定master2为主:
- mysql> CHANGE MASTER TO
- -> MASTER_HOST="192.168.0.149",
- -> MASTER_USER="test34",
- -> MASTER_PASSWORD="test34";
- Query OK, 0 rows affected (0.19 sec)
- mysql> START SLAVE;
- Query OK, 0 rows affected (0.00 sec)
9. master2上指定master1为主:
- mysql> CHANGE MASTER TO
- -> MASTER_HOST="192.168.5.143",
- -> MASTER_USER="test12",
- -> MASTER_PASSWORD="test12";
- Query OK, 0 rows affected (0.18 sec)
- mysql> START SLAVE;
- Query OK, 0 rows affected (0.00 sec)
10. 测试实验1:启动两个服务,在任一mysql上进行操作,在另一mysql上均能体现出来。实验2:启动两个服务,在master1上通过tpcc工具添加20个warehouse,数据占用硬盘约1.9G,在两台机器上计算count(*),数据一致。实验3:启动master1,在master1上通过tpcc工具添加一个warehouse,启动master2,同步一段时间后,计算count(*),结果一致。
ps,MySQL的主主复制实际上就是双向的主从复制。MySQL在切换库时报使用-A参数Redis的多主一从配置的测试结果相关资讯 MySQL主主复制
- MySQL数据库主从及主主复制配置演 (08/01/2015 09:34:10)
- 利用Keepalived构建MySQL主主复制 (11/06/2014 08:16:04)
- MySQL主主复制的搭建 (10/30/2014 19:13:04)
| - 配置MySQL服务器实现主主复制 (11/06/2014 20:44:40)
- mysql relay log参数汇总 (11/06/2014 08:12:39)
- MySQL主主复制+Keepalived 打造高 (09/13/2014 14:24:22)
|
本文评论 查看全部评论 (0)