MySQL表名

时间:2014-11-10 10:43:32

标签: mysql linux ubuntu

我对MySQL有疑问。

在服务器Ubuntu(系统版本:14.04)中,我安装了Mysql 5.5.37(LAMP发行版)。从服务器Windows导出后,我已经安装了一个数据库,其中包含大写格式的表名。

在第一次导入中,保留大写格式。

几周之后我从同一台Windows服务器进行了新的导出,我安装了相同的数据库,但是在另一台服务器Ubuntu(系统版本:14.04,MySQL版本:5.5.35,LAMP发行版)中,但是在这种情况下表格名称的大写格式尚未维护。

我想知道为什么新服务器Ubuntu中的MySQL会有这种行为。

旧服务器: Ubuntu 14.04 MySQL:5.5.37

新服务器: Ubuntu:14.04 MySQL:5.5.35

提前致谢。

1 个答案:

答案 0 :(得分:0)

在MySQL中,底层操作系统的区分大小写在数据库和表名称的区分大小写中起作用。这意味着数据库和表名在Windows中不区分大小写,在大多数Unix中都区分大小写。

但是,您可以通过设置lower_case_table_names标志来调整此行为。来自MySQL Reference

  • 如果lower_case_table_names设置为0,表名将按指定存储,并且比较区分大小写。
  • 如果设置为1,表名称将以小写形式存储在磁盘上,并且比较不区分大小写。
  • 如果设置为2,表名将按给定方式存储,但会以小写形式进行比较。此选项也适用于数据库名称和表别名。

我建议您在两个导入中比较此标记。