Windows 下MySql Replication(复制)配置

  • 环境准备

      到官网下载mysql-installer-web-community-5.7.21.0.msi并安装,选择MySql Workbench,记录安装时root输入的密码。 需要安装在两台机器上,分别作为主、从数据库。

      注意:安装可能失败,需要根据提示安装必要组件,如visual C++ 2013。

   Master机器设置

1, 登录workbench停止服务

2, 找到 my.ini,设置复制方式以及serverId

[mysqld]
log-bin=mysql-bin
server-id=1

 3. 在workbench中创建复制号 repl, 设置角色为复制

 4,记录主数据状态 

运行SHOW MASTER STATUS命令,记录输入结果

FLUSH TABLES WITH READ LOCK
SHOW MASTER STATUS 

mysql-bin.000001	917  

5,把现有数据导出

在Cmd下输入下列命令

cd C:Program FilesMySQLMySQL Server 5.7in

mysqldump -uuser -p*** --all-databases --master-data > dbdump.db

6,UNLOCK TABLES

Slave机器设置

1, 停止服务 server-id=2 再启动服务

2, Setting the Master Configuration on the Slave

CHANGE MASTER TO MASTER_HOST='xxx.xxx.xxx',
MASTER_USER='repl',
MASTER_PASSWORD='repl',
MASTER_LOG_FILE='mysql-bin.000001',
MASTER_LOG_POS=917;

3,Setting Up Replication with Existing Data

在cmd下导入数据

mysql -uroot -p*** < dbdump.db

因我在Master数据库中因建立了tablespace1, 导入前先执行下面语句,以免导入失败

CREATE TABLESPACE tablespace1 ADD DATAFILE 'tablespace1.ibd' Engine=InnoDB;

4, 运行命令START SLAVE

尝试修改主数据库中数据,正常情况下数据下自动同步过去。

官方指导文件:https://dev.mysql.com/doc/refman/5.7/en/replication-configuration.html

原文地址:https://www.cnblogs.com/season2009/p/8616696.html