我使用这种方法在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不会。很高兴知道。
答案 0 :(得分:7)
my.cnf是一个象征性的链接。我删除它并使其成为一个实际的文件。现在mysqld --show-defaults正在运行。显然mysql将遵循符号链接,但mysqld不会。
答案 1 :(得分:0)
对于mysqld,因为我知道只有硬链接才有效。或者你可能只是在原始的my.cnf文件中有错误的许可,你可以在其中放置符号链接。