提问者:小点点

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


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

我必须将它移到Linux环境中。 MySQL数据库中包含大量的表和存储过程,这些表和存储过程是区分大小写的。

当我备份我的数据库时,所有的表名都强制使用小写,所以当我在Linux中还原它时,它会抱怨,因为您不能创建重复的表和存储过程。

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

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


共3个答案

匿名用户

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

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

/my.ini:LOWER_CASE_TABLE_NAMES=2

匿名用户

请查看本文-http://dev.mysql.com/doc/refman/5.1/en/identifier-case-sensitivity.html

模式2允许存储具有指定字母大小写的表,但无论如何,名称比较将不区分大小写,您将无法同时存储table1table1

匿名用户

不幸的是,没有办法使windows上的MySQL像Linux那样100%地运行。 你能做的就是在Virtual Box或VMware player上使用Turnkey-MySQL Appliance运行一个最小的VM。

在我个人的经验中,我发现使用一个配置类似于部署环境的VM来诊断问题非常有用。