【问题标题】:mysqld ignoring my.cnf (mysql 5.6 on Ubuntu 16.04 Server)mysqld 忽略 my.cnf(Ubuntu 16.04 服务器上的 mysql 5.6)
【发布时间】:2017-01-20 02:13:46
【问题描述】:

我使用这种方法在 Ubuntu Server 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 是一个符号链接。我将其删除并使其成为实际文件。现在mysqld --show-defaults 正在工作!所以显然 mysql 将遵循符号链接,但 mysqld 不会。很高兴知道。

【问题讨论】:

    标签: mysql ubuntu-16.04 mysql-5.6


    【解决方案1】:

    据我所知,对于 mysqld,只有硬链接有效。或者,您可能只是对放置符号链接的原始 my.cnf 文件的权限有误。

    【讨论】:

      【解决方案2】:

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

      【讨论】:

      • 非常感谢!我的默认 mysql 安装创建 my.cnf 作为 /etc/alternatives/my.cnf 的符号链接,而后者又是 /etc/mysql/my.cnf.fallback 的另一个符号链接。与此设置一样奇怪,编辑此后备文件对 mysqld 没有影响,因为它显然无法遵循您发现的符号链接。为什么 mysql 安装程序会这样设置它?
      猜你喜欢
      • 2016-11-12
      • 1970-01-01
      • 2016-11-17
      • 1970-01-01
      • 2016-11-27
      • 1970-01-01
      • 1970-01-01
      • 2017-11-11
      • 2017-07-11
      相关资源
      最近更新 更多