首页 > 代码库 > mysql数据库复制—双主
mysql数据库复制—双主
一、实现环境
centos
master1:172.16.20.245
master2:172.16.20.219
两数据库均是新安装
二、master1安装配置
1配置文件
#vim /etc/my.cnf
server-id = 10
log-bin = mysql-bin
log-bin-index = mysql-bin.index
binlog-format = mixed
relay-log = relay-mysql
relay-log-index = relay-mysql.index
auto-increment-increment = 2
auto-increment-offset = 1
innodb_file_per_table=1
sync-binlog = 1
innodb_flush_log_at_trx_commit=1
#service mysqld restart
2创建复制用户
mysql>grant replication slave on *.* to ‘user1‘@‘172.16.20.%‘ identified by ‘password1‘;
mysql>flush privileges;
3记录二进制日志位置
mysql> show master status;
+------------------+----------+--------------+------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.000003 | 353 | | |
+------------------+----------+--------------+------------------+
三、master2安装配置
1master2配置文件
#vim /etc/my.cnf
server-id = 20
log-bin = mysql-bin
log-bin-index = mysql-bin.index
binlog-format = mixed
relay-log = relay-mysql
relay-log-index = relay-mysql.index
auto-increment-increment = 2
auto-increment-offset = 2
innodb_file_per_table=1
sync-binlog = 1
innodb_flush_log_at_trx_commit=1
#service mysqld restart
2创建复制用户
mysql>grant replication slave on *.* to ‘user2‘@‘172.16.20.%‘ identified by
‘password2‘;
mysql>flush privileges;
3记录二进制日志位置
mysql> show master status;
+------------------+----------+--------------+------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.000002 | 253 | | |
+------------------+----------+--------------+------------------+
四、启动复制
1master1启动复制
mysql>CHANGE MASTER TO
MASTER_HOST=‘172.16.20.219‘,
MASTER_USER=‘user2‘,
MASTER_PASSWORD=‘passwd2‘,
MASTER_LOG_FILE=‘master-bin.000002‘,
MASTER_LOG_POS=253;
mysql>start slave;
#或者单独START SLAVE IO_Thread;START SLAVE SQL_Thread;来启动这两个线程
master2启动复制
mysql>CHANGE MASTER TO
MASTER_HOST=‘172.16.20.245‘,
MASTER_USER=‘user‘,
MASTER_PASSWORD=‘passwd‘,
MASTER_LOG_FILE=‘master-bin.000003‘,
MASTER_LOG_POS=353;
mysql>start slave;
#或者单独START SLAVE IO_Thread;START SLAVE SQL_Thread;来启动这两个线程
五、检查
mysql>show slave status\G
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
以上连个进程启动则表示双主复制启动,双主复制安装完成。
本文出自 “不莱梅乐队” 博客,谢绝转载!