详解MySQL Server 启动时出现bug的解决方法

发布时间:2020-12-10编辑:脚本学堂
本文介绍下,在启动mysql server时出现max_join_size的bug,这里分享下遇到的问题与解决方法,供大家作个参考,以备不时之需。

在用的mysql Server 无法启动、日志如下:
 

复制代码 代码示例:
130507 12:22:11  mysqld started 
130507 12:22:11 [Warning] option 'max_join_size': unsigned value 18446744073709551615 adjusted to 4294967295 
130507 12:22:11 [Warning] option 'max_join_size': unsigned value 18446744073709551615 adjusted to 4294967295 
130507 12:22:11 [ERROR] /usr/libexec/mysqld: unknown variable 'table_open_cache=64' 

开始时把table_open_cache=64注释掉、并在 /etc/my.cnf 下添加如下:
max_join_size=4294967295 

但tail -f alert.log 时仍然报错:
 

130507 12:39:50 [Warning] option 'max_join_size': unsigned value 18446744073709551615 adjusted to 4294967295 
130507 12:39:50 [Warning] option 'max_join_size': unsigned value 18446744073709551615 adjusted to 4294967295 
130507 12:39:50 [ERROR] Can't find messagefile '/home/mysql/mysql/share/mysql/english/errmsg.sys' 

问题本质:mysqld_safe & 的启动目录不对、
到官网查看说 max_join_size 是 bug。
启动目录不对就抛一个 bug。

#-----
MySQL Server 无法启动错误诊断一则
 

复制代码 代码示例:
mysql 启动
mysql> select version()G;
*************************** 1. row ***************************
version(): 5.5.16-log
1 row in set (0.00 sec)
[mysql@cdio ~]$ mysqld_safe &
[1] 3036
[mysql@cdio ~]$ 130506 19:16:34 mysqld_safe Logging to '/home/mysql/mysql/log/alert.log'.
130506 19:16:34 mysqld_safe Starting mysqld daemon with databases from /home/mysql/mysql/data
130506 19:16:36 mysqld_safe mysqld from pid file /home/mysql/mysql/data/cdio.pid ended

查看日志、发现:
 

复制代码 代码示例:
130506 17:40:19 [ERROR] /home/mysql/mysql/bin/mysqld: unknown variable 'inactive_timeout=172800'
130506 17:40:19 [ERROR] Aborting

原来是inactive_timeout拼错了、该参数为interactive_timeout。