Mysql:无法设置lower_case_table_names变量

时间:2018-05-21 16:34:58

标签: mysql

我在新的Ubuntu 16.0.4计算机上安装新软件并使用apt-get安装MySQL。我得到的版本是5.7.22,但无法接受 我的配置变量lower_case_table_names的设置。

我添加如下行:

[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显然不喜欢这个变量名,但是它仍然有一个设置呢?

1 个答案:

答案 0 :(得分:2)

问题是这个变量不适用于mysql。它只适用 到mysqld。停止mysqld,将my.cnf更改为[mysqld]的设置,然后启动mysqld。这将为mysql服务器设置lower_case_table_names值。

如果运行/ usr / bin / mysql(命令行mysql shell),则不希望在配置文件中设置此var。 shell将表现为mysql服务器的行为。