首页 Linux linux mysql 数据库区分大小写 设置

linux mysql 数据库区分大小写 设置

在数据库控制台修改参数lower_case_table_names 1为不区分 0为区分,请了解 在 MySQL 中,数…

在数据库控制台修改参数lower_case_table_names 1为不区分 0为区分,请了解

在 MySQL 中,数据库和表对就于那些目录下的目录和文件。因而,操作系统的敏感性决定数据库和表命名的大小写敏感。这就意味着数据库和表名在 Windows 中是大小写不敏感的,而在大多数类型的 Unix 系统中是大小写敏感的。

奇怪的是列名与列的别名在所有的情况下均是忽略大小写的,而表的别名又是区分大小写的。

要避免这个问题,你最好在定义数据库命名规则的时候就全部采用小写字母加下划线的组合,而不使用任何的大写字母。

或者也可以强制以 -O lower_case_table_names=1 参数启动 mysqld(如果使用 –defaults-file=…/my.cnf 参数来读取指定的配置文件启动 mysqld 的话,你需要在配置文件的 [mysqld] 区段下增加一行 lower_case_table_names=1)。这样MySQL 将在创建与查找时将所有的表名自动转换为小写字符(这个选项缺省地在 Windows 中为 1 ,在 Unix 中为 0。从 MySQL 4.0.2 开始,这个选项同样适用于数据库名)。

当你更改这个选项时,你必须在启动 mysqld 前首先将老的表名转换为小写字母。

换句话说,如果你希望在数据库里面创建表的时候保留大小写字符状态,则应该把这个参数置0: lower_case_table_names=0 。否则的话你会发现同样的sqldump脚本在不同的操作系统下最终导入的结果不一样(在Windows下所有的大写字符都变成小写了)。

免责声明:文章内容不代表本站立场,本站不对其内容的真实性、完整性、准确性给予任何担保、暗示和承诺,仅供读者参考,文章版权归原作者所有。如本文内容影响到您的合法权益(内容、图片等),请及时联系本站,我们会及时删除处理。

为您推荐

linux中查看占用cpu和内存最高的进程

linux中查看占用cpu和内存最高的进程

1、占用内存最高的进程 [root@centos7 ne]# ps -aux | sort -k 4nr | head ...
linux服务器解压war包

linux服务器解压war包

先把 ROOT文件夹删掉 然后用unzip命令 unzip jeesite.war -d ROOT 这样就在当前目录下解...
Linux解压文件到指定目录

Linux解压文件到指定目录

tar在Linux上是常用的打包、压缩、加压缩工具,他的参数很多,折里仅仅列举常用的压缩与解压缩参数 参数: -c :c...
Linux里如何查找文件内容

Linux里如何查找文件内容

Linux查找文件内容的常用命令方法。 从文件内容查找匹配指定字符串的行: $ grep “被查找的字符串&...
Linux 监控tomcat,自动重启tomcat服务(自用可行)

Linux 监控tomcat,自动重启tomcat服务(自用可行)

起因:买的内存 太小  用 tomcat 部署的系统老是自己死机  老是自己停止 Tomcat 7 监控,自启脚本 sh...
返回顶部