mysql配置主从同步步骤,只同步部分表(mysql5.7为例)

由于部分业务要用到俩台服务器主从同步数据,不需要全部同步表,只同步部分表即可,这里做个笔记

开始之前你要保证主库和从库的数据一致,这里我就不多说了

1、主服务器主库配置

1、配置主服务器my.conf文件

vim /etc/my.cnf
#[mysqld]中增加代码
server-id=1
log_bin=mysql-bin
#不同步数据库  
binlog-ignore-db=mysql
binlog-ignore-db=information_schema
binlog-ignore-db=performance_schema
#只仅同步数据库
binlog-do-db=newkw
 
#mysql复制模式,三种:SBR(基于sql语句复制),RBR(基于行的复制),MBR(混合模式复制)
binlog_format=MIXED #混合模式复制,可靠性更高

2、给主服务器中创建用户(此用户可以在从服务器进行连接主服务器用的,不要设置错了)

设置完成后,测试下是否可以在从库远程连接主库,可能有防火墙之类的,测试连接完毕后,在进行下一步

 MySQL [(none)]> grant all privileges on db_name.* to db_user@'%' identified by 'db_pass'; #授权语句,特别注意有分号
 MySQL [(none)]> flush privileges;

3、锁住主服务器表(防止日志产生)

flush tables with read lock;

4、查看主库状态
这里的File和Position会在从库中用到,需要注意下

show master status \G

1、从服务器从库配置

1、配置从服务器my.conf文件

vim /etc/my.cnf
#[mysqld]中增加代码
server-id=2
log_bin=mysql-bin
binlog_format=MIXED
# 需要同步的表 多个分行写
replicate-do-table=newkw.kw_user
replicate-do-table=newkw.kw_weixin

2、从库设置复制主库数据账号

change master to master_host='主mysql服务器ip',master_user='slave',master_password='123456',master_log_file='mysql-bin.000001',master_log_pos=19416434;

3、启动从库复制

start slave;

4、不要忘了解锁主库

unlock tables;

5、查看从库是否同步上主库
当Slave_IO_Running: Yes Slave_SQL_Running: Yes 都为yes同步成功

show slave status;

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注