简体   繁体   English

Mysql:转储数据库,所有表名在Windows服务器上均小写(在Linux上不是)

[英]Mysql : dump database, all tables name are in lowercase on Windows server (not on Linux)

From a Linux server I perform a dump of my database. 我从Linux服务器执行数据库转储。

mysqldump -u root -p database_from_linux >database_from_linux.sql

And I create the new database on a Windows server from this dump: 然后从此转储在Windows服务器上创建新数据库:

mysql -u root -p database < database_from_linux.sql

On the Windows server, all tables name are in lowercase, whereas in linux server they are in uppercase. 在Windows服务器上,所有表名均小写,而在Linux服务器中,所有表名均大写。

In the SQL script, the tables names are in lower case. 在SQL脚本中,表名用小写字母表示。

How can i keep the uppercase in the Windows server database? 如何将大写字母保留在Windows服务器数据库中?

Server Linux 14.10 服务器Linux 14.10
Mysql 5.5.40-ubuntu01 的MySQL 5.5.40-ubuntu01
Mysql workbench 6.1 MySQL工作台6.1

Server Windows 2012 服务器Windows 2012
Mysql 5.5.47 的MySQL 5.5.47
Mysql workbench 6.3 MySQL工作台6.3

Thanks. 谢谢。

According to mysql docs you can set lower_case_table_names=0 on linux and lower_case_table_names=2 on windows. 根据mysql文档,您可以在Linux上设置lower_case_table_names=0 ,在Windows上设置lower_case_table_names=2 This will preserve case but you also have to specify correct case when writing queries. 这样可以保留大小写,但是在编写查询时还必须指定正确的大小写。

I would argue that it's better to set lower_case_table_names=1 everywhere. 我认为最好在各处设置lower_case_table_names=1 You can still type queries using any case but internally it's converted to lowercase. 您仍然可以使用任何大小写键入查询,但在内部将其转换为小写。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM