0

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

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

据我所知,升级 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。

4

1 回答 1

0

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

sql_mode = "REAL_AS_FLOAT,PIPES_AS_CONCAT,ANSI_QUOTES,TRADITIONAL"

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

奇怪的事实是我必须卸载 MariaDB 并重新安装它才能再次使用它,但是这次当我读取 sql_mode 设置、启动守护程序、删除 sql_mode 并重新启动守护程序时,它可以工作并且我不必重新安装它下一次。

于 2013-06-12T16:13:37.070 回答