MySQL5.5主主复制配置方法及测试
2012-12-20 01:40
483 查看
1. 环境:Linux x86_64,MySQL5.5.21
2. 两台机器:
master1:192.168.5.143
master2: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添加:
server-id = 1
replicate-do-db =mydb
replicate-ignore-db=mysql
log-bin=mysql-bin
expire_logs_day=1
max_binlog_size = 500M
slave-skip-errors=all
skip-name-resolve
max_connect_errors=9999999999
slave_net_timeout=60
wait_timeout=30
innodb_file_per_table=on
back_log=200
auto-increment-increment= 2 # 应设为整个结构中服务器的总数
auto-increment-offset = 1 # 设定数据库中自动增长的起点,避免两台服务器数据同步时出现主键冲突
6. master2上的my.cnf添加:
server-id = 2
replicate-do-db =mydb
replicate-ignore-db=mysql
log-bin=mysql-bin
expire_logs_day=1
max_binlog_size = 500M
slave-skip-errors=all
skip-name-resolve
max_connect_errors=9999999999
slave_net_timeout=60
wait_timeout=30
innodb_file_per_table=on
back_log=200
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的主主复制实际上就是双向的主从复制。
2. 两台机器:
master1:192.168.5.143
master2: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添加:
server-id = 1
replicate-do-db =mydb
replicate-ignore-db=mysql
log-bin=mysql-bin
expire_logs_day=1
max_binlog_size = 500M
slave-skip-errors=all
skip-name-resolve
max_connect_errors=9999999999
slave_net_timeout=60
wait_timeout=30
innodb_file_per_table=on
back_log=200
auto-increment-increment= 2 # 应设为整个结构中服务器的总数
auto-increment-offset = 1 # 设定数据库中自动增长的起点,避免两台服务器数据同步时出现主键冲突
6. master2上的my.cnf添加:
server-id = 2
replicate-do-db =mydb
replicate-ignore-db=mysql
log-bin=mysql-bin
expire_logs_day=1
max_binlog_size = 500M
slave-skip-errors=all
skip-name-resolve
max_connect_errors=9999999999
slave_net_timeout=60
wait_timeout=30
innodb_file_per_table=on
back_log=200
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的主主复制实际上就是双向的主从复制。
相关文章推荐
- MySQL5.5主主复制配置方法及测试结果
- MySQL5.5主主复制配置方法及测试结果
- [置顶] MySQL配置主主复制和高可用
- MySQL主从复制的原理及配置方法(比较详细)
- mysql5.5免安装版的配置方法
- 快速准备(复制替换)一套新测试环境,CentOS7 MySQL相关配置
- mysql 5.5 安装配置方法图文教程
- Mysql主主复制架构配置
- Mysql主主复制原理及配置
- Mysql主主复制构架配置
- MySQL5.7配置基于GTID的复制及GTID回退到传统模式的方法
- mysql5.6配置同步复制的新方法以及常见问题的解决方法
- 配置MYSQL服务器实现主主复制
- mysql主主复制(双主复制)配置步骤
- Mysql主主同步配置方法
- mysql 5.5 安装配置方法图文教程
- InnoSQL HA Suite的实现原理与配置说明 InnoSQL的VSR功能Virtual Sync Replication MySQL 5.5版本引入了半同步复制(semi-sync replicaiton)的功能 MySQL 5.6支持了crash safe功能
- MySQL主从复制配置流程(win7环境,Linux虚拟机结合简单测试演示)
- mysql5.6下主主复制的配置实现
- 配置mysql5.5主从复制数据库集群