Mysql:can';t设置小写字母表名称变量

Mysql:can';t设置小写字母表名称变量,mysql,Mysql,我正在一台新的Ubuntu 16.0.4机器上安装新软件,并用apt get安装了MySQL。我得到的版本是5.7.22,但无法接受 配置变量lower\u case\u table\u name的我的设置 我添加了如下行: [mysql] lower_case_table_names = 1 当我编辑/etc/mysql中的任何*.cnf文件以使用此设置时,或者如果我将其添加到~/.my.cnf中,我会得到 mysql: [ERROR] unknown variable 'lower_cas

我正在一台新的Ubuntu 16.0.4机器上安装新软件,并用apt get安装了MySQL。我得到的版本是5.7.22,但无法接受 配置变量lower\u case\u table\u name的我的设置

我添加了如下行:

[mysql]
lower_case_table_names = 1
当我编辑/etc/mysql中的任何*.cnf文件以使用此设置时,或者如果我将其添加到~/.my.cnf中,我会得到

mysql: [ERROR] unknown variable 'lower_case_table_names=1'
如果我尝试启动mysql。类似地,我不能像医生说的那样在mysql命令行上使用它

/usr/bin/mysql --lower_case_table_names=1 -u root -p
然而:

如果我进入SQL命令解释器并键入

mysql> select @@lower_case_table_names;
我得到一个结果,显示变量设置为0。但是,它不能用SET语句更改

那么为什么我不能设置这个变量呢

~/.my.cnf文件:

[mysqld]
lower_case_table_names = 1
[mysql]
lower_case_table_names = 1

为什么mysql不喜欢这个变量名,而显然它仍然有一个设置

问题是这个变量不适用于mysql。它只适用于 给我的QLD。停止mysqld,将my.cnf更改为具有[mysqld]的设置,然后启动mysqld。这将设置mysql服务器的小写字母表名称值


如果您运行/usr/bin/mysql(一个命令行mysql shell),它将不希望在配置文件中设置这个var。shell的行为将与mysql服务器的行为相同。

问题在于此变量不适用于mysql。它只适用于 给我的QLD。停止mysqld,将my.cnf更改为具有[mysqld]的设置,然后启动mysqld。这将设置mysql服务器的小写字母表名称值

如果您运行/usr/bin/mysql(一个命令行mysql shell),它将不希望在配置文件中设置这个var。shell的行为将与mysql服务器的行为相同