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 没配置对。
[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