移动日志目录后无法解释 MySql 错误
Can't explian MySql Errors after moving log directory
我有一个主从设置,MySql v5.1.39 运行 ~10 db 在 12 核 Linux 机器上。出于性能问题,我不得不将 bin-log 文件移动到单独的磁盘。所以我遵循了这些步骤:
- 停止所有使用数据库的东西
- 停止从站
- 停止大师
- 将 /my.cfg 中的路径更改为 /mysql/log/* 到 /mysql/newlog/* 在主机和从机上
- 复制/mysql/log/*到/mysql/newlog/。在主从上
- 开始奴隶
- 一切顺利!
- 开始大师
第一个问题!在奴隶上:
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
现在快速 Google 没有解决任何问题,因为停机是一个问题。我停止了 Master,将配置改回并重新启动。现在第二个"problem"!
...
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 个具有不同的页码和序列号。
移动文件如何影响页码和序号,它们从何而来?我的问题有多大?似乎一切正常。
请询问您是否需要更多信息,感谢您的帮助。
第一个问题是由文件 /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/.
保留时间戳。
我有一个主从设置,MySql v5.1.39 运行 ~10 db 在 12 核 Linux 机器上。出于性能问题,我不得不将 bin-log 文件移动到单独的磁盘。所以我遵循了这些步骤:
- 停止所有使用数据库的东西
- 停止从站
- 停止大师
- 将 /my.cfg 中的路径更改为 /mysql/log/* 到 /mysql/newlog/* 在主机和从机上
- 复制/mysql/log/*到/mysql/newlog/。在主从上
- 开始奴隶
- 一切顺利!
- 开始大师
第一个问题!在奴隶上:
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
现在快速 Google 没有解决任何问题,因为停机是一个问题。我停止了 Master,将配置改回并重新启动。现在第二个"problem"!
...
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 个具有不同的页码和序列号。
移动文件如何影响页码和序号,它们从何而来?我的问题有多大?似乎一切正常。
请询问您是否需要更多信息,感谢您的帮助。
第一个问题是由文件 /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/.
保留时间戳。