mysql主从复制同步配置

本文详细介绍如何在Windows环境下配置MySQL的主从复制环境,包括复制服务器实例、配置my.ini文件、创建同步账户、设置从服务器同步等步骤,并解决了同步过程中出现的UUID冲突问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本次以windows下单机不同端口为例,多个服务器情况类似。

1、若已经有一个mysql服务器了,可以直接将当前mysql直接复制出一个,然后重命名,如下图:

2、修改主服务器配置文件my.ini。

3、修改复制后的从服务器my.ini 配置文件,下图片红框为mysql基础配置,蓝框为从服务器进行同步的配置。

4、主服务器创建用于同步的账户,也可以使用已有的账户,并获取主服务器中此时的位置。

GRANT REPLICATION SLAVE ON *.* TO 'db_sync'@'%' IDENTIFIED BY 'db_sync';
FLUSH PRIVILEGES;

show master status;

  

5、从服务器同步设置

先停止同步

STOP SLAVE;

修改从服务器执行主服务器,执行上一步中的位置

CHANGE MASTER TO 
master_host = 'localhost',
master_port = 3306
master_user = 'db_sync',
master_password = 'db_sync',
master_log_file = 'mysql-bin.000002',
master_log_pos = 924;

启动同步

START SLAVE;

查看从服务器同步状态 show slave status; 如下图中红框所示两个参数都为Yes则设置成功,若不是Yes检查err日志。

6、配置过程中的问题

Slave I/O for channel '': Fatal error: The slave I/O thread stops because master and slave have equal MySQL server UUIDs; these UUIDs must be different for replication to work. Error_code: 1593

因为mysql服务器是原来复制出来的,虽然修改了my.ini中的server_id,但是原有的uuid已经存在了导致主从的uuid相同。

解决方法:先停止mysql从服务器,将mysql从服务器目录下data/auto.cnf 文件重命名或者删除,然后重新启动从服务器即可。

#如果之前此从库已有主库指向 需要先执行以下命令清空
STOP SLAVE IO_THREAD FOR CHANNEL '';
reset slave all;

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值