将数据库导入 Windows 时保持区分大小写
我从 Linux 机器上的 MYSQL 数据库导出,但是当将该数据库导入到 Windows 上的 MYSQL 时,所有驼峰式大小写的表名现在都是小写。 sql 转储中有正确的大小写,但通过 phpmyadmin 导入可以删除这些大小写。
我如何导入它并保留案例?
I have an export from a MYSQL database on a linux machine however when importing that database into MYSQL on windows all of the table names that were camel cased are now all lower case. The sql dump has the correct case in it but the importing via phpmyadmin seams to remove these.
How can I import it and keep the case?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
mysql有一个设置允许在windows中区分大小写。您需要编辑
my.cnf
文件并更改设置:然后重新启动mysql。
否则,这可能是 phpmyadmin 将查询传递到服务器的方式更改大小写的情况,而不是 Linux 到 Windows 的问题。您是否尝试过使用另一个 mysql 管理器(例如 SQLyog)导入 sql 转储? (工具 -> 从 SQL 转储恢复...)
There is a setting for mysql to allow case differentiation in windows. You need to edit the
my.cnf
file and alter the setting:Then restart mysql.
Otherwise, this may be a case of phpmyadmin changing case in the way it passes queries to the server rather than a linux-to-windows problem. Have you tried importing the sql dump using another mysql manager such as SQLyog? (Tools -> Restore from SQL Dump...)
MySQL 参考手册中的以下页面可能值得阅读: http://dev.mysql.com/doc/refman/5.5/en/identifier-case-sensitivity.html
基于此,我认为你需要设置为0,而不是2,这将确保该架构使用与 DDL 中定义的相同的大小写进行存储。
It is probably worth reading the following page from the MySQL Reference Manual: http://dev.mysql.com/doc/refman/5.5/en/identifier-case-sensitivity.html
Based on that, I think you need to set to 0, not 2, which will ensure that the schema is stored using the same case as defined in your DDL.
转到 C:\ProgramData\MySQL\MySQL Server xxx,
找到 my.ini 文件在底部添加 lower_case_table_names=2 并重新启动服务器。
在 Unix 上使用 lower_case_table_names=0,在 Windows 上使用 lower_case_table_names=2。
Go to C:\ProgramData\MySQL\MySQL Server x.x.x,
Locate my.ini file add lower_case_table_names=2 at the bottom and restart Server.
Use lower_case_table_names=0 on Unix and lower_case_table_names=2 on Windows.