在 mysql 中,我想在现有数据库上设置 lower_case_table_names=1 以避免跨多个平台的区分大小写的问题

sak*_*zai 5 mysql

在 mysql 中,我想在现有数据库上设置 lower_case_table_names=1 以避免跨多个平台的区分大小写问题。

A) What are the risks ?除了显示表问题

B) 设置lower_case_table_names=1 后,我是否可以跨多个平台一致地查询数据库? select * from USERS == select * from users;

C)触发器+存储过程+函数+视图+事件在这方面将如何受到影响。我知道lower_case_table_names 仅用于“TABLE”
名称,但如何触发其他数据库对象。它们会保持不区分大小写吗?视图如何?

D)我是否需要在此配置设置之前/之后重命名所有表,或者这将在一步中创造奇迹(即 lower_case_table_names=1 中和表名)?

E) WRT 的具体步骤是什么:mysqd / my.ini

小智 1

我们的服务器是 Windows 上的 Mysql,我们必须将它们更改为 Linux。在新服务器上,我们在my.cnf中设置lower_case_table_names=1 ,然后使用mysqldump old-server |复制模式。mysql new-server(我不记得我们是否也复制了mysqlinformation_schema模式,或者只复制了包含我们数据的模式,您应该尝试两种方法)。

一切都和以前一样。除了表之外,我们还使用视图、存储过程和存储函数(但不包括触发器)