前言
部署主从同步前请先分别部署好两个mysql服务,部署请参考我的这篇文章:
环境
- Linux版本
[root@localhost tmp]# uname -a
Linux localhost 3.10.0-957.el7.x86_64 #1 SMP Thu Nov 8 23:39:32 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
实战部署
1、在主库中新建主从同步的用户
mysql> grant replication slave on *.* to repluser@'%' identified by 'Ynbwjf_67234g!'
mysql> flush privileges;
2、修改my.cnf配置文件
[root@iZ8vb41szgujuks2h52947Z ~]# vim /etc/my.cnf
server-id不能相同
- 修改主库server-id为
server-id = 1739
- 修改从库server-id为
server-id = 2739
设置主库Binlog过期时间
expire_logs_days = 7
设置主库binlog模式为:
binlog_format = ROW
设置主库binlog规则路径:
log-bin = /usr/local/mysql/arch/mysql-bin
3、在主库查看从库从主库的哪个点开始同步数据:
mysql> show master status
+------------------+----------+--------------+------------------+-------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+------------------+----------+--------------+------------------+-------------------+
| mysql-bin.000003 | 593 | | | |
+------------------+----------+--------------+------------------+-------------------+
1 row in set (0.00 sec)
4、配置从库去获取主库的数据:
mysql>
change master to
master_host='172.26.87.115',
master_port=3306,
master_user='repluser',
master_password='**************',
master_log_file='mysql-bin.000004',
master_log_pos=154;
5、从库启用同步:
mysql> start slave;
6、查看从库同步状态:
mysql> show slave status\G;
监控这两个指标是否正常
Slave_IO_Running: Yes
Slave_SQL_Running: Yes