MySql5.7设置主从同步

前言

我是在本机window上安装了2个mysql5.7,端口使用的3306与3307,如果是在linux上步骤与配置几乎一致。

配置主数据库

在my.ini [linux为my.cnf] mysqld 下添加:

log-bin=C:/tool/MySQL/DB/Data/mysql-bin #同步文件地址
server-id=1 #主从必须唯一
binlog-ignore-db=information_schema #不同步的数据库
binlog-ignore-db=performance_schema
binlog-ignore-db=mysql
binlog-do-db=test1 #同步的数据库
binlog-do-db=test2

配置完成后重启mysql,使用show variables like '%log_bin%';测试配置是否成功
MySql5.7设置主从同步_第1张图片

配置从数据库账号及权限

grant FILE on *.* to 'root'@'127.0.0.1' identified by 'root'; #访问文件的权限 账号密码随意设置,在配置从数据库的时候使用
grant replication slave on *.* to 'root'@'127.0.0.1' identified by 'root'; #复制的权限,账号密码和上面一致
flush privileges; #刷新

重启并重新登录,查看主数据库的状态

show master status;

MySql5.7设置主从同步_第2张图片

配置从数据库

在my.ini mysqld 下填写

log-bin=mysql-bin
server-id=2
binlog-ignore-db=information_schema
binlog-ignore-db=performance_schema
binlog-ignore-db=mysql
replicate-do-db=test1
replicate-do-db=test2
log-slave-updates
slave-skip-errors=all
slave-net-timeout=60 

修改完后保存、重启、登录mysql从数据库,mysql5.7以后需要在命令行中配置:

stop slave;
change master to master_host='127.0.0.1',master_user='root',master_password='root',master_log_file='mysql-bin.000004', master_log_pos=154;
start slave;

上面的master_log_file是在主数据库中show master status显示的File,而master_log_pos是在主数据库中show master status显示的Position。然后可以通过show slave status查看配置信息。
MySql5.7设置主从同步_第3张图片

最后

主从数据库的数据库名称与表结构设置一致,在主数据库添加数据,从数据库就能同步成功
MySql5.7设置主从同步_第4张图片

你可能感兴趣的:(Mysql)