win7本机上搭建两个MySQL5.7实现主从同步复制

由于本机已安装了wamp了,打算再安装一个mysql,做主从同步配置,wamp自带的mysql版本是5.7.14,所以最好下载安装的mysql也是这个版本,但由于mysql官网上只有5.7.22最接近,所以安装的是5.7.22,安装步骤详见:http://www.884358.com/win7-install-mysql/

由于3306端口已被占用,所以新安装的mysql5.7.22只有换一个端口了,修改my.ini,将3306换成其他的端口号即可,我这里填的是3309

确保两个mysql服务都能正常启动后,就可以开始配置了。

环境说明:

主Mysql:
ip:127.0.0.1
端口:3309
账号:root
密码:123456

从MySQL:
ip:127.0.0.1
端口:3308
账号:root
密码:空

配置主库(Master)

修改主库my.ini配置文件

在my.ini的配置文件中,添加如下信息:

[mysqld]
log-bin=mysql-bin
server-id=2
binlog-ignore-db=information_schema
binlog-do-db=test

说明:log-bin=mysql-bin代表开启MySQL的二进制日志记录,开启后,mysql的更新和插入操作将会记录日志,通过该日志文件,实现从数据库的复制操作。server-id为主MySQL的id号,binlog-do-db为要同步的数据库名,binlog-ignore-db为要忽略同步的数据库名。

重启主库

net stop mysql-5.7.22
net start mysql-5.7.22

给从库赋权限

赋予从库权限账号,允许用户在主库上读取日志,赋予从库有File权限及REPLICATION SLAVE的权限。

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;

注:如果你的从库不是在本机上安装的,则需将127.0.0.1改成从库真实的ip地址。

重启主库,登录mysql,查看主库信息

show master status;

File是同步会使用到的binlog文件,Position是同步的时候也要用到的。
主库配置结束。

配置从库(Slave)

修改从库my.ini配置文件

[mysqld]
log-bin=mysql-bin
server-id=3
binlog-ignore-db=information_schema
replicate-do-db=test
replicate-ignore-db=mysql
log-slave-updates
slave-skip-errors=all
slave-net-timeout=60 

重启从库,进入mysql,配置同步

stop slave;
change master to master_host='127.0.0.1',master_port=3309,master_user='root',master_password='123456',master_log_file='mysql-bin.000002', master_log_pos=197378;
start slave;

master_log_file和master_log_pos就填写前面主库查到的信息。

查看同步状态

show slave status\G;

如果Slave_IO_Running显示为Connecting,则说明从库没有连上主库,需要检查下ip地址,账号密码,端口,位置等是否正确。

参考文章:https://www.cnblogs.com/eleven24/p/7350000.html

发表评论

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