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

2020-11-11 17:01 PHP在线

由于本机已安装了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的配置文件中,添加如下信息:

  1. [mysqld]

  2. log-bin=mysql-bin

  3. server-id=2

  4. binlog-ignore-db=information_schema

  5. binlog-do-db=test

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

重启主库

  1. net stop mysql-5.7.22

  2. net start mysql-5.7.22

给从库赋权限

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

  1. grant FILE on *.* to 'root'@'127.0.0.1' identified by 'root';

  2. grant replication slave on *.* to 'root'@'127.0.0.1' identified by 'root';

  3. flush privileges;

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

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

  1. show master status;

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

配置从库(Slave)

修改从库my.ini配置文件

  1. [mysqld]

  2. log-bin=mysql-bin

  3. server-id=3

  4. binlog-ignore-db=information_schema

  5. replicate-do-db=test

  6. replicate-ignore-db=mysql

  7. log-slave-updates

  8. slave-skip-errors=all

  9. slave-net-timeout=60

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

  1. stop slave;

  2. 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;

  3. start slave;

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

查看同步状态

  1. show slave status\G;

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

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


本文章转载自公众号:phpdaily

首页 - PHP 相关的更多文章: