MySQL 数据库主主复制的配置
2018-03-14 09:58
465 查看
MySQL数据库主主复制的配置
Master-Master复制的两台服务器,既是master,又是另一台服务器的slave。这样,任何一方所做的变更,都会通过复制应用到另外一方的数据库中。配置
主主环境
Redhat6.5_x64_MySQL5.7.19 两台(已事先准备好)server1 (假设IP:192.168.17.1)
server2(假设IP:192.168.17.2)
更改两主机MySQL配置文件
server1 中添加配置信息[mysqld] server-id=1 log-bin=mysqlmaster-bin.log auto-increment-increment=2 auto-increment-offset=1
server2 中添加配置信息
[mysqld] server-id=1 log-bin=mysqlmaster-bin.log auto-increment-increment=2 auto-increment-offset=1
参数说明:
auto-increment-increment 控制自增列中的值的增量值,也就是步长。
auto-increment-offset 确定auto_increment列值的起点,也就是初始值
其他参数可根据需求添加
启动MySQL服务使其生效
登录MySQL,添加同步数据所需用户
server1 上添加用户mysql> grant replication slave on *.* to 'user1'@'ip' identified by "password1";
把ip地址换成server2机器的ip地址,只允许server2登录,安全
server2 上添加用户
mysql> grant replication slave on *.* to 'user2'@'ip' identified by "password2";
把ip地址换成server1机器的ip地址,只允许server1登录,安全
查看两台服务器上master状态
server1mysql> show master status; +------------------------+----------+--------------+------------------+-------------------+ | File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set | +------------------------+----------+--------------+------------------+-------------------+ | mysqlmaster-bin.000002 | 154 | | | | +------------------------+----------+--------------+------------------+-------------------+
server2
mysql> show master status; +------------------------+----------+--------------+------------------+-------------------+ | File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set | +------------------------+----------+--------------+------------------+-------------------+ | mysqlmaster-bin.000002 | 168 | | | | +------------------------+----------+--------------+------------------+-------------------+
配置同步信息
server1change master to master_host='ip2',master_port=3306,master_user='user2',master_password='password2',master_log_file='mysqlmaster-bin.000002',master_log_pos=168;
server2
change master to master_host='ip1',master_port=3306,master_user='user1',master_password='password1',master_log_file='mysqlmaster-bin.000002',master_log_pos=152;
开启复制功能
server1 和server2 上都执行mysql> start slave;
查看复制连接状态
mysql> show slave status \G; *************************** 1. row *************************** Slave_IO_State: Waiting for master to send event Master_Host: 192.168.17.78 Master_User: scutech1 Master_Port: 3306 Connect_Retry: 60 Master_Log_File: mysqlmaster-bin.000002 Read_Master_Log_Pos: 154 Relay_Log_File: redhat6-relay-bin.000005 Relay_Log_Pos: 379 Relay_Master_Log_File: mysqlmaster-bin.000002 Slave_IO_Running: Yes Slave_SQL_Running: Yes Replicate_Do_DB: Replicate_Ignore_DB:
查看
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
两个参数的值都显示为“yes”才表示启动正常
Slave_IO_Running: 指的就是从服务器上负责读取主服务器的线程工作状态。 从服务器用这个专门的线程链接到主服务器上,并把日志拷贝回来。
错误分析
Last_IO_Error: error connecting to master ‘scutech1@192.168.17.78:3306’ - retry-time: 60 retries: 10可能是配置同步信息时,用户名、密码、IP 等信息输入有误,检查确保这些信输入正确。
Last_IO_Error: Fatal error: The slave I/O thread stops because master and slave have equal MySQL server UUIDs; these UUIDs must be different for replication to work.
server1 和 server2的 MySQL server UUIDs相同导致的同步状态异常
解决方法:
1、 查看两台机器的MySQL 的server_id,看server_id的值是否一样。
mysql> show variables like '%server_uuid%'; +---------------+--------------------------------------+ | Variable_name | Value | +---------------+--------------------------------------+ | server_uuid | 11596429-710b-11e7-8b02-fa163e2b2e87 | +---------------+--------------------------------------+
2、 查看server1 机器上MySQL 的auto.cnf文件
mv auto.cnf auto.cnf.bak
由于是测试环境,没有初始数据,因此没有考虑数据库初态问题。否则需要进行的步骤是:server1 锁表—>server1备份数据—>server1解锁表—>server2导入数据—>server2设置同步—>查看状态
相关文章推荐
- mysql主主复制(双主复制)配置步骤
- mysql主主复制和keepalived配置过程
- Mysql主主复制构架配置
- 配置mysql5.5主从复制数据库集群
- Mysql 生产库主主复制配置步骤
- mysql主主复制配置
- MySQL5.5主主复制配置方法及测试
- mysql主主复制配置
- Mysql主主复制原理及配置
- mysql5.6下主主复制的配置实现
- MySQL主主复制配置
- [置顶] MySQL配置主主复制和高可用
- mysql 主从复制和主主复制配置
- mysql中的复制(配置主从数据库)
- 构建KeepAlived实现MySQL高可用以及主主复制配置详解
- mysql主主复制 两个数据库版本不一样 怎么解决
- Mysql主主复制架构配置
- mysql主主复制(双主复制)配置步骤
- mysql主主复制+keepalived高可用(使用VIP访问数据库提示不允许连接)
- linux下 mysql 5.5 数据库主从复制配置