无法启动MySQL守护程序:分段错误

时间:2013-06-12 12:46:39

标签: mysql segmentation-fault mariadb

MySQL守护程序(嗯,实际上是MariaDB守护程序)不再启动了。 /var/log/mysql.err为空。 dmesg给了我这个错误:

  

[1042.816803] mysql_upgrade [11409]:ffffffe0上的segfault ip b7523515   sp bf823300 mysql_upgrade中的错误5 [b750b000 + 2b2000]

据我所知,升级MySQL时会使用mysql_upgrade ...我不知道为什么在MySQL启动时调用它,因为我没有升级它(它是最新版本,全新安装)。

它一直工作到昨天,我不知道我能做什么......我唯一改变的是我将这些行添加到my.cnf:

# *UTF-8*
character_set_server = utf8
collation_server = utf8_general_ci

# *STRICT MODE*
sql_mode = "REAL_AS_FLOAT, PIPES_AS_CONCAT, ANSI_QUOTES, TRADITIONAL"
innodb_strict_mode = ON

但我试图取消注释但没有成功。

我在Ubuntu 13.04上使用MariaDB 5.5.31。

1 个答案:

答案 0 :(得分:0)

我发现了问题:似乎你无法向sql_mode添加空格。这个错误也发生在MySQL上。所以你必须写:

sql_mode = "REAL_AS_FLOAT,PIPES_AS_CONCAT,ANSI_QUOTES,TRADITIONAL"

这似乎是一个错误,因为在MySQLMariaDB文档中有空格的示例。

奇怪的是,我不得不卸载MariaDB并重新安装它再次使用它,但这次当我读取sql_mode设置,启动守护程序,删除sql_mode并重新启动守护程序时,它工作了,我没有重新安装它。