Vit*_*tch 6 mysql mysql-5 linux mysql-5.1 case-sensitive
将 MySQL 数据库从 Windows 迁移到 Linux 我有一个问题,即在 Linux 上表的名称区分大小写。这是一个问题,因为我正在开发的 Java 应用程序找不到表。
我已经更改了我的/etc/mysql/my.cnf
文件添加行:
lower_case_table_names=1
但这并没有改变任何事情。
我的服务器版本是:
5.1.61-0ubuntu0.11.10.1 (Ubuntu)
如何配置 MySQL 以忽略表名中的大小写?
仅仅改变lower_case_table_names 设置是不够的。它需要在导入数据库之前完成。
在MySQL 5.1中文件列出了Windows和Linux / UNIX之间移动的过程。这将确保遵循您想要的强制区分大小写的规则。查看并验证您是否按正确的顺序执行了这些步骤:
要转换一个或多个整个数据库,请在设置lower_case_table_names 之前转储它们,然后删除数据库,并在设置lower_case_table_names 后重新加载它们:
1 - 使用 mysqldump 转储每个数据库:
mysqldump --databases db1 > db1.sql
mysqldump --databases db2 > db2.sql
... 为每个必须重新创建的数据库执行此操作。
2 - 使用 DROP DATABASE 删除每个数据库。
3 - 停止服务器,
lower_case_table_names
在[mysqld]
您的\etc\mysql\my.cnf
文件部分进行设置,然后重新启动服务器。4 - 重新加载每个数据库的转储文件。因为设置了lower_case_table_names,所以每个数据库和表名在重新创建时都将转换为小写:
mysql < db1.sql
mysql < db2.sql
归档时间: |
|
查看次数: |
33211 次 |
最近记录: |