Linux下MySQL报Table 'xxx' doesn't exist错误解决方法,表名存在大小写区分
2020-5-27 8:54:04
Linux服务器上在线装了个MySQL,但是部署web应用时一直报后台一直报错:Table 'xxx' doesn't exist。
本地测试一直都是正常的,同样的代码,同样的数据库,表是存在的,但是找不到。
原因:linux下mysql默认数据库表名和数据库名区分大小写
解决方案:更改mysql设置,使其不区分大小写,具体步骤
1.cd /etc
2. vi my.cnf
3.在[mysqld]节点下 增加 一句话
lower_case_table_names = 1
4.编辑保存完 重启mysql服务才能生效。
systemctl restart mysqld
若命令不熟悉,可以用notepad++编译服务器上相应的文件即可,然后重启mysql
完美解决。
问题:程序报Table 'xxx' doesn't exist 的错误,但是查看数据库发现该表已经存在且字母也没有拼错。
原因:Linux 上的mysql 默认是区分大小写导致的。
解决:改动mysql的配置文件,在my.cnf中的[mysqld]下面(位置不能错)加上lower_case_table_name=1这句(1表示不区分大小写,0区分大小写),保存重新启动mysql。
没有my.cnf文件,如果是默认安装执行以下列操作
[root@hqw mysql]# cp /usr/share/mysql/my-huge.cnf /etc/my.cnf
在my.cnf加入配置信息
本篇文章来源于 Linux公社网站(www.linuxidc.com) 原文链接:http://www.linuxidc.com/Linux/2014-11/109714.htm