不知道是不是mysql(version 5.6.11)的bug,情况如下。今天当我更新mysql conf并杀死-9并重新启动mysqld时,我发现它不能再重新启动了。查看错误日志后,我发现以下内容:
2013-07-09 17:04:21 7872 [ERROR] InnoDB: Tried to read 1048576 bytes at offset 2097152. Was only able to read 917504.
然后我做了一个 strace 来跟踪哪个文件有问题。结果是ibdata1。
-rw-rw----. 1 mysql mysql 79691776 7月 9 16:51 ibdata1
好吧,为了性能,我将日志提交更改如下。
innodb_flush_log_at_trx_commit = 2
但我认为这不会导致数据丢失,因为在 mysql 重新启动期间操作系统不会重新启动。那么任何人都可以帮助我了解导致数据损坏的原因(也许是 kill -9?)以及如何恢复数据,非常感谢。