作者:手机用户2502921877 | 来源:互联网 | 2022-12-02 17:06
在Windows 10上运行的MySQL 8.0.12中,似乎无法设置lower_case_table_names
为2,以便在Workbench中实现混合大小写DB和表名的外观.我意识到在引擎盖下这些物体可能保持小写,这很好.但我希望它在Workbench中看起来正确,我总是可以在以前版本的MySQL中实现这一点.当我尝试这样做并重新启动服务以使其生效时,服务崩溃并停止.在mysql日志中我看到了这个:
服务器('2')和数据字典('1')的不同lower_case_table_names设置.
数据字典初始化失败.
对于很多人来说,这似乎是一个普遍的问题.
我在这里读到解决方案是:
因此lower_case_table_names
需要与--initialize一起设置.
但我不知道这意味着什么,或者如何在启动时设置它.我已经谷歌搜索了几篇论坛文章,但我找不到如何解决这个问题的明确说明.
1> HerrimanCode..:
我想到了。安装MySQL Server 8.0.x时,必须选择“ 高级选项”,以便进入此屏幕:
然后,选择“ 保留给定案例”,这不是默认值。MySQL掩盖并掩盖此设置是荒谬的,然后在安装后无法提供任何更改方式。他们需要解决这个问题!
请注意,lower_case_table_names=2
如果mysql将其删除,则可能必须添加到my.ini中。如此处讨论的那样,您可能会得到一辆越野车,毫无意义的警告。我确实希望mysql能够修复每个人都会遇到的重大错误。
似乎选择“高级”并不总是在上面的页面上显示这些选项。
2> Rick James..:
8.0.11更改日志:
现在禁止使用lower_case_table_names设置启动服务器,该设置与初始化服务器时使用的设置不同.限制是必要的,因为数据字典表字段使用的排序规则基于初始化服务器时定义的设置,并且使用不同的设置重新启动服务器会导致标识符的排序和比较方式不一致.(Bug#27309094,Bug#89035)
另见:https://bugs.mysql.com/bug.php?id = 89035
通过--initialized,它指的是8.0的初始安装.怎么做的?