mysql修改lower_case_table_names产生的问题
1、参数含义:
lower_case_table_names: 此参数不可以动态修改,必须重启数据库
lower_case_table_names = 1 表名存储在磁盘是小写的,但是比较的时候是不区分大小写
lower_case_table_names=0 表名存储为给定的大小和比较是区分大小写的
lower_case_table_names=2, 表名存储为给定的大小写但是比较的时候是小写的
**2 大小写区分规则 **
-
linux下:
数据库名与表名是严格区分大小写的;
表的别名是严格区分大小写的;
列名与列的别名在所有的情况下均是忽略大小写的;
变量名也是严格区分大小写的; -
windows下:
都不区分大小写
- Mac OS下(非UFS卷):
都不区分大小写
unix下lower_case_table_names默认值为 0 .Windows下默认值是 1 .Mac OS X下默认值是 2 .
在windows 设置lower_case_table_names=2 的数据库 生成sql脚本 导入到 Linux系统下 设置为lower_case_table_names = 1的
提示 找不到数据库,表名和存储过程的错误解决方法
在mysql客户端 导出 sql脚本 保存到 word文档中 同时按键 SHIFT+F3键 把所有的小写转换成大写,再按一次 把所有的大写转成小写字母 ,
执行小写字母的sql脚本 到 Linux系统下 设置为lower_case_table_names = 1的mysql中即可。