mysqld 忽略 my.cnf(mysql 5.6 在 Ubuntu 16.04 服务器上)

mysqld ignoring my.cnf (mysql 5.6 on Ubuntu 16.04 Server)

我使用以下方法在 Ubuntu 服务器 16.04 上安装了 mysql 5.6:https://askubuntu.com/questions/762384/install-mysql-5-6-on-ubuntu-16-04

但我无法让 mysqld 阅读 /etc/mysql/my.cnf

具体来说,我正在尝试为 Atlassian Confluence 安装进行设置,我必须在其中添加以下设置:

[mysqld]
character-set-server=utf8
collation-server=utf8_bin
default-storage-engine=INNODB
max_allowed_packet=256M
innodb_log_file_size=2G

我检查了 mysqld --help --verbose,它的路径中有 my.cnf。这是相关的输出:

Default options are read from the following files in the given order:
/etc/my.cnf /etc/mysql/my.cnf /usr/etc/my.cnf ~/.my.cnf The following
groups are read: mysqld server mysqld-5.6

我知道 mysql 正在读取文件,因为如果我将 [mysqld] 更改为 [mysql],当我 运行 mysql --print-defaults 如果我在文件中输入了错误的行 mysql 将无法启动并告诉我语法错误在哪里。但是 mysqld 没有报告 mysqld --print-defaults 的任何参数,也没有告诉我文件中的语法错误。

我还能尝试什么?

已解决:

my.cnf 是一个符号 link。我删除了它并使它成为一个实际文件。现在 mysqld --show-defaults 正在工作!所以显然 mysql 会遵循 symlink 但 mysqld 不会。很高兴知道。

my.cnf 是一个符号 link。我删除了它并使它成为一个实际文件。现在 mysqld --show-defaults 正在工作。所以显然 mysql 会遵循 symlink 但 mysqld 不会。

据我所知,对于 mysqld,只有 hard links 有效。或者也许您只是在原始 my.cnf 文件上获得了错误的许可,您将符号 link.

放入其中