在RHEL上安装的mysql中设置lower_case_table_names = 1而不重新安装它

问题描述 投票:0回答:1

我可以在MySql上声明lower_case_table_names = 1而不重新安装它吗?

我有一个Web应用程序,要在安装了MySQL(8.0.18)的基于RHEL的服务器上进行部署。问题是我已经在装有MySQL的Windows操作系统上测试了我的Web应用程序的运行状况,并且没有遇到任何问题。但是,当我在RHEL上运行相同代码时,MySQL在执行'table USER_MASTER不存在'之类的查询时给了我一个错误,尽管它在我的数据库中,但带有小情况如'user_master'。] >

我进行了一些搜索,发现在UNIX中区分大小写很重要,而在Windows中则无关紧要。因此,我在my.cnf

中使用设置lower_case_table_names = 1并认为这可以解决问题,但是很快我发现必须在MySql服务器初始化期间声明此变量。

我经历了以下点赞:

https://mysql.wisborg.dk/2019/04/14/install-mysql-8-on-linux-with-lower_case_table_names-1/

https://bugs.mysql.com/bug.php?id=90695

所有这些都说我必须重新安装MySql才能使lower_case_table_names起作用。

下面是直接使用lower_case_table_names = 1时出现的错误。

2019-11-08T05:30:17.331505Z 1 [ERROR] [MY-011087] [Server] Different lower_case_table_names settings for server ('1') and data dictionary ('0').

我希望还可以通过其他方法避免重新安装MySql和设置该变量,并避免遍历我的代码并用小写字母替换表名。

谢谢。

我可以在不重新安装MySql的情况下在我的MySql中声明lower_case_table_names = 1吗?我有一个Web应用程序,我想在安装了MySQL(8.0.18)的基于RHEL的服务器上进行部署。问题是...

mysql rhel mysql-8.0
1个回答
0
投票

否,如果不重新安装,则无法在mysql v8.0上更改此设置。 Mysql manual在此非常清楚:

© www.soinside.com 2019 - 2024. All rights reserved.