我有一个Master-Slave设置,MySql v5.1.39在12核心Linux机器上运行~10 db。我不得不将bin-log文件移动到单独的磁盘以解决性能问题。所以我按照以下步骤操作:
第一个问题!在奴隶上:
150113 12:21:22 [ERROR] Got fatal error 1236: 'Could not find first log file name in binary log index file' from master when reading data from binary log
150113 12:21:22 [Note] Slave I/O thread exiting, read up to log 'bin-log.005523', position 716864371
现在快速谷歌没有解决任何问题,因为停机是一个问题。我停止了Master,更改了配置并重新启动。现在是第二个“问题”!
...
150113 13:02:22 InnoDB: Error: page 182380 log sequence number 3407 300161079
InnoDB: is in the future! Current system log sequence number 3407 299353326.
InnoDB: Your database may be corrupt or you may have copied the InnoDB
InnoDB: tablespace but not the InnoDB log files. See
InnoDB: http://dev.mysql.com/doc/refman/5.1/en/forcing-recovery.html
InnoDB: for more information.
...
我引用问题,因为一切正常。复制到从站重新启动并运行。我启动了应用程序,这些工作正常。但是当在Master上启动MySql时,我得到了上面的错误,其中大约50个具有不同的页面和序列号。
移动文件如何影响页码和序列号以及它们来自何处?我的问题有多大?一切似乎都很好。
请询问您是否需要更多信息并感谢您的帮助。
答案 0 :(得分:0)
第一个问题是由文件/mysql/log/bin-log.index引起的。我忘了更改此文件的内容以指向日志文件的新目录:
/mysql/log/bin-log.000028 -> /mysql/newlog/bin-log.000028
/mysql/log/bin-log.000029 -> /mysql/newlog/bin-log.000029
/mysql/log/bin-log.000030 -> /mysql/newlog/bin-log.000030
/mysql/log/bin-log.000031 -> /mysql/newlog/bin-log.000031
第二个问题是由某些文件的时间戳引起的。我应该使用cp -p log/* newlog/.
或rsync -avrx log/* newlog/.
保留时间戳。