数据库同步报错Failed to open the relay log

在3个服务器组成的master-slave数据库同步环境中,由于修改服务器名称导致从库出现'Failed to open the relay log'错误。解决方法包括修改mysql日志名,重启数据库,停止并重置slave,以及更新同步日志点。

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

先说下测试环境,共3个服务器,每个上面都有数据库,使用master-slave的方式同步数据。

问题:从数据库(slave)报错,日志如下:

100607 10:48:47 [ERROR] Failed to open the relay log './localhost-relay-bin.000010' (relay_log_pos 2787)
100607 10:48:47 [ERROR] Could not find target log during relay log initialization
100607 10:48:47 [ERROR] Failed to initialize the master info structure
查询slave状态,Slave_IO_Running和Slave_SQL_Running均显示NO。

原因:这个环境一直在使用也没有动,想想就是早上在做性能测试的时候为了nmon文件名修改了服务器名称,在网上查了一下,果然是修改服务器名称引起的!同步日志文件名默认是用主机名定义的,所以修改了主机名后导致同步报错。

如,原来的日志名为:TestInterfaceServerB-relay-bin,TestInterfaceServerB为我服务器的主机名。

解决方法:

1、修改mysql日志名(我的为subcenter-relay-bin),在数据库配置文件my.cnf中添加:

relay-log = subcenter-relay-bin

2、service mysql restart

3、stop slave;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值