使用Mysql lower_case_table_names为1

时间:2011-11-16 06:06:38

标签: mysql tablename

我已经使用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;,但是说它是只读变量。

有什么建议吗?

3 个答案:

答案 0 :(得分:19)

我的OP系统是ubuntu, Mysql版本 5.5。*

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

下添加)
[mysqld]

lower_case_table_names=1

然后重启mysql

答案 1 :(得分:7)

在5.5中我们需要指定

lower_case_table_names=1

答案 2 :(得分:0)

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

启动mysqld.service

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

编辑 /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 -u root -p

使用新的 MySQL 密码登录