【问题标题】:Use Mysql lower_case_table_names to 1使用Mysql lower_case_table_names 为1
【发布时间】:2011-11-16 06:06:37
【问题描述】:

我已经使用 yum 在 linux 中安装了 mysql v5.5.17,现在我想要默认的小写表名,所以我添加了

set-variable = lower_case_table_names=1

/etc/my.cnf

但如果我这样做了,我将无法启动 mysqld 服务。 Mysql 日志显示未知变量lower_case_table_names。 我也尝试过在命令行中使用set global lower_case_table_names=1;,但据说它是只读变量。

有什么建议吗?

【问题讨论】:

标签: mysql tablename


【解决方案1】:

我的操作系统是ubuntu, Mysql版本是5.5.*

更新文件/etc/mysql/my.cnf,(必须在[mysqld]部分下添加)

[mysqld]

lower_case_table_names=1

然后重启mysql

【讨论】:

  • 16.04以下,这个可以放在/etc/mysql/mysql.conf.d/mysqld.cnf的末尾。
【解决方案2】:

在5.5中我们需要指定

lower_case_table_names=1

【讨论】:

    【解决方案3】:

    Step1:使用 sudo systemctl stop mysqld 停止 mysql 服务; 第二步:从 /var/lib 备份 mysql 文件夹 第三步:删除 /var/lib/mysql 文件夹 Step4:在/etc/my.cnf中修改lower_case_table_names=1 Step5:使用 sudo systemctl start mysqld 再次启动 mysqld.service

    如果 root 密码在 mysql -u root -p 中不起作用,请按照以下步骤操作:

    编辑 /etc/my.cnf 文件 在 [mysqld] 下添加 skip-grant-tables 重启你的 MySQL 服务器 您现在应该可以使用以下命令登录 mysql mysql -u root -p 运行刷新权限;在 MySQL shell 中 使用 ALTER USER ‘root’@’localhost’ IDENTIFIED BY ‘your_new_password’ 设置新密码; 编辑 /etc/my.cnf 并删除 skip-grant-tables 行 再次重启 MySQL 现在您可以使用新的 MySQL 密码登录 mysql -u root -p

    【讨论】:

      猜你喜欢
      • 2018-11-10
      • 2018-03-24
      • 1970-01-01
      • 2016-02-01
      • 2019-04-05
      • 2019-07-28
      • 2016-11-19
      • 1970-01-01
      • 2013-07-27
      相关资源
      最近更新 更多