lower_case_table_names参数
该参数为静态,可设置为0、1、2。
0 --大小写敏感。(Unix,Linux默认) 创建的库表将原样保存在磁盘上。如create database TeSt;将会创建一个TeSt的目录,create table AbCCC …将会原样生成AbCCC.frm。 SQL语句也会原样解析。
1 --大小写不敏感。(Windows默认) 创建的库表时,MySQL将所有的库表名转换成小写存储在磁盘上。 SQL语句同样会将库表名转换成小写。 如需要查询以前创建的Testtable(生成Testtable.frm文件),即便执行select * from Testtable,也会被转换成select * from testtable,致使报错表不存在。
2 --大小写不敏感(OS X默认) 创建的库表将原样保存在磁盘上。 但SQL语句将库表名转换成小写。
On Windows the default value is 1. On macOS, the default value is 2. On Linux, a value of 2 is not supported; the server forces the value to 0 instead.
在Windows上,默认值为1。在macOS上,默认值为2。在Linux上不支持值2;服务器强制该值为0。
并且官网也提示说:如果在数据目录驻留在不区分大小写的文件系统(例如Windows或macOS)上的系统上运行MySQL,则不应将lowercasetable_names设置为0。
如果windos中把lower_case_table_names设置为0,Mysql的服务会一直启动报错
注意事项
修改lowercasetable_names导致的常见不良隐患: 如果在lower_case_table_names=0时,创建了含有大写字母的库表,改为lower_case_table_names=1后,则会无法被查到。
lower_case_table_names参数详解
原创
©著作权归作者所有:来自51CTO博客作者wx630f300fec73f的原创作品,请联系作者获取转载授权,否则将追究法律责任
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
lsblk命令参数详解
lsblk命令用于列出块设备的信息,包括磁盘、分区和挂载点等。下面是lsblk命令的一些常用用法和示例讲解:
CentOS lsblk命令 Linux -
FAQ系列 | lower_case_table_names迷思
关于 lower_case_table_names 选项的设置的建议是怎样的呢?
表名 大小写 mysql sql 数据 -
由lower_case_table_names参数引发的OGG-00768异常处理
由lower_case_table_names参数引发的OGG-00768异常处理
mysql oracle ogg OGG-00768 lower_case_table_nam