移动日志目录后无法解释MySql错误

时间:2015-01-13 12:35:32

标签: mysql replication mysql-5.1

我有一个Master-Slave设置,MySql v5.1.39在12核心Linux机器上运行~10 db。我不得不将bin-log文件移动到单独的磁盘以解决性能问题。所以我按照以下步骤操作:

  • 停止使用db
  • 的所有内容
  • 停止奴隶
  • 停止大师
  • 将/my.cfg中的路径更改为/ mysql / log / *到主服务器和从服务器上的/ mysql / newlog / *
  • 将/ mysql / log / *复制到/ mysql / newlog /。在主人和奴隶
  • 启动奴隶
    • 一切都好!
  • Start Master

第一个问题!在奴隶上:

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个具有不同的页面和序列号。

移动文件如何影响页码和序列号以及它们来自何处?我的问题有多大?一切似乎都很好。

请询问您是否需要更多信息并感谢您的帮助。

1 个答案:

答案 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/.保留时间戳。