我有一个在 ubuntu server 10 x64 上运行的 mysql 服务器 (v5.6)。它始终处于正常运行状态,流量适中,但每次它都会崩溃并重新启动而不留下任何日志消息,重新启动后,它会开始崩溃恢复,这通常需要大约 10 分钟,mysqlerror.log
文件会重置,如下所示:
2017-07-27 10:07:37 23427 [Warning] Using unique option prefix myisam-recover instead of myisam-recover-options is deprecated and will be removed in a future release. Please use the full name instead.
2017-07-27 10:07:37 23427 [Note] Plugin 'FEDERATED' is disabled.
2017-07-27 10:07:37 23427 [Note] InnoDB: Using atomics to ref count buffer pool pages
2017-07-27 10:07:37 23427 [Note] InnoDB: The InnoDB memory heap is disabled
2017-07-27 10:07:37 23427 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins
2017-07-27 10:07:37 23427 [Note] InnoDB: Memory barrier is not used
2017-07-27 10:07:37 23427 [Note] InnoDB: Compressed tables use zlib 1.2.8
2017-07-27 10:07:37 23427 [Note] InnoDB: Using Linux native AIO
2017-07-27 10:07:37 23427 [Note] InnoDB: Not using CPU crc32 instructions
2017-07-27 10:07:37 23427 [Note] InnoDB: Initializing buffer pool, size = 5.0G
2017-07-27 10:07:38 23427 [Note] InnoDB: Completed initialization of buffer pool
2017-07-27 10:07:38 23427 [Note] InnoDB: Highest supported file format is Barracuda.
2017-07-27 10:07:38 23427 [Note] InnoDB: Log scan progressed past the checkpoint lsn 194934547118
2017-07-27 10:07:38 23427 [Note] InnoDB: Database was not shutdown normally!
2017-07-27 10:07:38 23427 [Note] InnoDB: Starting crash recovery.
2017-07-27 10:07:38 23427 [Note] InnoDB: Reading tablespace information from the .ibd files...
我可以做些什么来保存显示崩溃源的日志,以便我能够解决问题。
答案1
MySQL 服务器有时会遭遇 Linux 内存不足 (OOM)殺手过程。您可能会在命令中/var/log/syslog
或命令的输出中找到此类活动的痕迹dmesg
。
如果系统内存不足并导致 MySQL 终止,您可以调整 MySQL 服务器进程的设置来避免这种情况。例如,使用MySQLTuner-perl脚本。性能指标其输出显示了 MySQL 服务器进程可能使用的最大内存占已安装 RAM 的百分比。
答案2
回答您的问题,我可以做些什么来保留显示崩溃源的日志,以便能够修复该问题。
是的,在您的 .cnf 中的 [mysqld] 部分中,添加一个新行 - expire_logs_days = 7 # 从默认的 0 mm/dd/ccyy 到 xx 在最旧的日志滚动之前,您将有 7 天的时间进行研究。浏览您找到 error.log 的目录以查看它们。
答案3
我今天在 Windows 10 机器上遇到了同样的问题。服务器在启动时不断崩溃,事件查看器的日志中没有任何内容。
不幸的是,我发现如果我们在 my.ini 文件中设置的位置无效,Mysql 社区服务器(至少版本 8.x)就会崩溃。
如果您更新此设置以从不再存在的便携式设备加载数据文件,或者只是您的路径不正确,则可能会发生这种情况