无法在Windows 10的MySQL 8.x中设置lower_case_table_names

时间:2018-10-09 19:47:44

标签: mysql windows mysql-workbench

在Windows 10上运行的MySQL 8.0.12中,似乎不可能将lower_case_table_names设置为2,以使Workbench中出现大小写混合的数据库名称和表名称。我意识到,这些对象可能会保留为小写,这很好。但是我希望它在Workbench中看起来正确,并且我总是可以在以前的MySQL版本中实现。当我尝试这样做并重新启动服务以使其生效时,该服务将崩溃并停止。在mysql日志中,我看到了:

  

服务器('2')和数据的不同的lower_case_table_names设置   字典('1')。

     

数据字典初始化失败。

对于许多人来说,这似乎是一个普遍的问题。

我读到here的解决方法是:

  

因此,lower_case_table_names需要与   --initialize。

但是我不知道这是什么意思,或者如何在启动时设置它。我已经在所有地方搜索过Google,并阅读了一些论坛文章,但是找不到关于如何解决此问题的明确说明。

2 个答案:

答案 0 :(得分:5)

8.0.11更新日志:

  

现在禁止使用与服务器初始化时使用的设置不同的lower_case_table_names设置启动服务器。该限制是必要的,因为数据字典表字段使用的归类基于初始化服务器时定义的设置,并且使用不同的设置重新启动服务器会导致标识符的排序和比较方式不一致。 (错误#27309094,错误#89035)

另请参阅:https://bugs.mysql.com/bug.php?id=89035

通过--initialized,它是指8.0的初始安装。那是怎么做的?

答案 1 :(得分:4)

我知道了。在安装MySQL Server 8.0.x时,必须选择高级选项,以便进入此屏幕:

enter image description here

然后选择保留给定案例这不是默认值。 MySQL掩盖并掩盖此设置是荒谬的,然后在安装后无法提供任何更改方式。 他们需要解决此问题!

请注意,以防mysql将其删除,您可能必须将lower_case_table_names=2添加到my.ini。而且您可能会收到错误的as discussed here越野车警告。我确实希望mysql能够解决每个人都会遇到的重大错误。