centos7.7+mysql5.7主从同步配置详解

主库:master(192.168.28.201)
从库:slave(192.168.28.202)

步骤 说明 master(192.168.28.201) slave(192.168.28.202)
1 主库:修改mysql配置文件 [[email protected] ~]# vim /etc/my.cnf
2 主库:mysql配置文件增加server_id、log_bin、binlog_format参数,必须加到[mysqld]下面,server_id必须唯一 server_id= 201
log_bin = mysql-bin
binlog_format = MIXED
3 主库:重启mysql服务 [[email protected] ~]# service mysqld restart
4 主库:登录mysql数据库 [[email protected] ~]# mysql -uroot -p
5 主库:创建同步帐号并授权从库可以登录 mysql> grant replication client,replication slave on *.* to 'repl'@'192.168.28.202' identified by 'repl';
6 主库:刷新权限 mysql> flush privileges;
7 主库:查看主库上当前二进制日志的文件名和偏移量值[1] mysql> show master status;
8 从库:修改mysql配置文件 [[email protected] ~]# vim /etc/my.cnf
9 从库:mysql配置文件增加server_id、relay-log参数,必须加到[mysqld]下面,server_id必须唯一 server_id=202
relay-log=mysql-relay
10 从库:重启mysql服务 [[email protected] ~]# service mysqld restart
11 从库:登录mysql数据库 [[email protected] ~]# mysql -uroot -p
12 从库:设置master信息[2] mysql> change master to master_host='192.168.28.201',master_user='repl',master_password='repl',master_log_file='mysql-bin.000001',master_log_pos= 622;
13 从库:开启slave mysql> start slave;
14 从库:查看slave配置信息[3] mysql> show slave status \G;
15 主库:测试操作-建库 mysql> create database tmp_slave;
16 主库:测试操作-选择库 mysql> use tmp_slave;
17 主库:测试操作-建表 mysql> create table tmp_001(id int,name varchar(2));
18 主库:测试操作-插入数据 mysql> insert into tmp_001 values(1,'zs'),(2,'ls'),(3,'ww');
19 从库:检查同步-数据库同步 mysql> show databases;
20 从库:检查同步-选择数据库 mysql> use tmp_slave
21 从库:检查同步-表同步 mysql> show tables;
22 从库:检查同步-数据记录同步 mysql> select * from tmp_001;
23 从库和主卡同步正常,大功告成

说明:
[1]、【步骤7】如果执行show master status;始终为Empty set(0.00 sec),那说明前面的my.cnf 没配置对。
centos7.7+mysql5.7主从同步配置详解
[2]、【步骤12】master_log_file和master_log_pos对应【步骤7】里面的File和Position的值。
[3]、【步骤14】show slave status \G;的配置信息,下面两项一定要是Yes,否则说明配置有问题,不能正常同步。
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
centos7.7+mysql5.7主从同步配置详解