无法读取 /etc/my.cnf 的目录。(错误代码:2)

use*_*337 2 mysql mariadb

我正在运行 MariaDB(libmysql - 5.5.41-MariaDB),今天我注意到我无法通过命令行转到 mysql 来创建转储文件。它会抛出一个错误:

mysql:无法读取“/etc/my.cnf”的目录。(Errcode: 2) 默认处理中的致命错误。程序中止

不知道为什么它需要读取名为“my.cnf”的目录。但我确实在 etc 文件夹中看到了一个名为“my.cnf.d”的目录。可能是某种拼写错误,但是当我转到 my.cnf 文件时,我没有注意到任何设置。唯一与之密切相关的是:

#
# include all files from the config directory
#
!includedir /etc/my.cnf.d
Run Code Online (Sandbox Code Playgroud)

这是最近发生的事情,我没有更改设置中的任何内容,所以我不确定 mariadb 发生了什么。任何帮助,将不胜感激。

编辑:好的,我通过执行 mkdir my.cnf 解决了这个问题。(不确定这个目录需要什么,因为它里面什么都没有。永远不要对 my.cnf 做任何更改,因为它开始需要这个目录..

小智 6

解决办法其实很简单。


!includedir /etc/my.cnf.d
Run Code Online (Sandbox Code Playgroud)

是你在 /etc/my.cnf 上的最后一行,所以 mysql 不能读取完整的 '/etc/my.cnf.d' 只能是 '/etc/my.cnf.'。

您只需要再添加一行,以便 mysql 可以读取它。


!includedir /etc/my.cnf.d
# add new line here
Run Code Online (Sandbox Code Playgroud)