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

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

在 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。在新服务器上,我们设置小写表名称=1我的cnf然后复制架构mysqldump 旧服务器 | mysql 新服务器(我不记得我们是否复制了mysql信息架构模式,或者只包含我们数据的模式,您应该两种方式都尝试一下)。

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

相关内容