mysql - 设置 lower_case_table_names=0 时如何解决 Can't connect to MySQL server on 'localhost' (10061)?
问题描述
在 mysql 中创建表时,我注意到我所有的表名都以小写开头,即使我用大写命名它们也是如此。
我发现进入:
C:\ProgramData\MySQL\MySQL 服务器 8.0
打开 my.ini 文件并更改lower_case_table_names=0
会根据这个视频的伎俩。
完成上述操作后,我关闭了服务器,重新启动了电脑,当再次尝试启动服务器时,我收到以下错误:
无法连接,服务器可能没有运行。无法连接到“localhost”上的 MySQL 服务器 (10061)
当我变回lower_case_table_names=1
它再次起作用。我该如何解决这个问题?
编辑:
我发现我可以通过更改属性而不是进入ini文件
选项文件
然后在一般选项卡下我找到lower_case_table_names
并将其更改为 0
但又是同样的错误。
解决方案
你可以在这里阅读https://bugs.mysql.com/bug.php?id=89035
从 8.0.5 开始
现在禁止使用与初始化服务器时使用的设置不同的 lower_case_table_names 设置来启动服务器。该限制是必要的,因为各种数据字典表字段使用的排序规则基于服务器初始化时定义的设置,并且使用不同的设置重新启动服务器会在标识符的排序和比较方式方面引入不一致。
禁止这样做,导致服务无法启动。
推荐阅读
- php - 在 WooCommerce 结帐中的小计之前移动优惠券表格
- java - 在Android中,给定带有TextView和RadioGroup的项目的ListView,如何动态添加项目?
- python - 来自具有转置的元组的数据帧
- git - 吉特 | 使用 lfs 仅跟踪某个远程的文件,并将它们视为其他远程的常规文件
- python - 如何使用 Python 套接字连接到同一网络上的另一台计算机
- c# - 是否有跳过重复值写入文本文件的功能?
- python-3.x - 迭代目标搜索功能需要简化以加快程序
- django - Django中stealth_options的用例是什么?
- java - 在 AlertDialog 中向 LinearLayout 添加多行
- javascript - 在 NextJS 中使用自定义文档时如何获取 URL 参数