mysql 忽略大小写配置
引用:https://www.jianshu.com/p/9ff5c50ed7c7
ps.新安装linux系统,明明库中包含表a,但log说就是没有,仔细一看表名是大写,灵机一动就想到大小写敏感!
坑这种东西,踩踩更健康!
- 新安装mysql5.7版本后,linux环境下默认是大小写敏感的。可以在客户端执行以下命令:
SHOW VARIABLES LIKE '%case%'
可以看到 lower_case_table_names 的值是 0, 我们要做的就是把它设置成 1. 具体步骤如下:
- 使用 vi /etc/mysql/my.cnf, 打开mysql 的配置文件, 在 mysqld 这个节点下, 加入:
lower_case_table_names=1
注意: 一定要放在 mysqld 节点下 , 放在其他节点下, 会不生效 !!!!
![](http://upload-images.jianshu.io/upload_images/7423059-5bb1231e8d3594b0.png?imageMogr2/auto-orient/strip|imageView2/2/w/1020/format/webp)
- 设置完后, 保存
- 重启mysql 服务
- 再执行
SHOW VARIABLES LIKE '%case%'
可以看到, 已经变成 1 了.
![](http://upload-images.jianshu.io/upload_images/7423059-72f1f960c4148a81.png?imageMogr2/auto-orient/strip|imageView2/2/w/439/format/webp)
- 在重启mysql 服务时, 会用到 restart 命令
service mysqld restart
可能会出现
Failed to restart mysqld.service: Unit not found.
执行 chkconfig --list, 找到mysql 服务的具体名称, 比如是 mysqldddd
然后执行
service mysqldddd restart
会看到
Shutting down MySQL....[ OK ]
Starting MySQL.[ OK
作者:旅_人
链接:https://www.jianshu.com/p/9ff5c50ed7c7
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。