如何强制区分大小写的表名?

Ehs*_*hmi 41 mysql windows case-sensitive

我正在开发一个Windows数据库中的MySQL数据库.

我必须把它移到Linux环境中.MySQL数据库包含许多CASE SENSITIVE的表和存储过程.

当我备份我的数据库时,所有表名都被强制为小写,因此当我在Linux中恢复它时,它会抱怨,因为你不能制作重复的表和存储过程.

我无法访问linux环境中的MySQL配置,因此我无法将MySQL设置更改为不区分大小写的模式.

有没有办法强制MySQL(v5.x)在Windows中使用区分大小写的表名?

ATo*_*ras 47

阅读所有这些:http://dev.mysql.com/doc/refman/5.0/en/identifier-case-sensitivity.html

然后,该系统变量添加到服务器部分[mysqld]中,my.ini并重启MySQL:

/my.ini:lower_case_table_names = 2

  • 对Windows上的InnoDB没有影响,搞砸了MySQL! (9认同)
  • 代表帕特里克:在 unix 系统上你会使用 `/my.ini:lower_case_table_names=0` (2认同)

Dev*_*art 8

看看这篇文章 - http://dev.mysql.com/doc/refman/5.1/en/identifier-case-sensitivity.html

模式2允许存储与指定的大小写表,但无论如何,名字比较不会是大小写敏感的,你不会是能够存储table1Table1在同一时间.


小智 6

在 Windows 上将 lower_case_table_names=2 放在文件 C:\ProgramData\MySQL\MySQL Server 5.7\my.ini 的末尾