【问题标题】:Mysql : can't set lower_case_table_names variableMysql:无法设置 lower_case_table_names 变量
【发布时间】:2018-05-21 16:34:58
【问题描述】:

我正在一台新的 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 不喜欢这个变量名,但显然它仍然有一个设置?

【问题讨论】:

    标签: mysql


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-01-19
      • 2019-03-14
      • 2021-07-14
      • 1970-01-01
      • 2013-07-27
      • 2019-07-28
      • 2016-03-16
      相关资源
      最近更新 更多