Mysql 如何解决Can';t连接到';本地主机';(10061)和#x9 ;;设置小写字母表名称时=0?
在mysql中创建表时,我注意到我所有的表名都以小写开头,即使我将它们命名为大写 我发现进入: C:\ProgramData\MySQL\MySQL服务器8.0 打开my.ini文件并更改Mysql 如何解决Can';t连接到';本地主机';(10061)和#x9 ;;设置小写字母表名称时=0?,mysql,sql,windows,settings,Mysql,Sql,Windows,Settings,在mysql中创建表时,我注意到我所有的表名都以小写开头,即使我将它们命名为大写 我发现进入: C:\ProgramData\MySQL\MySQL服务器8.0 打开my.ini文件并更改小写字母表\u name=0 我会根据你的建议去做 完成上述操作后,我关闭服务器,重新启动电脑 当再次尝试启动服务器时,我收到以下错误: 无法连接,服务器可能未运行。无法连接到MySQL “本地主机”(10061)上的服务器 当我更改回lower\u case\u table\u names=1 它又起作用了。
小写字母表\u name=0
我会根据你的建议去做
完成上述操作后,我关闭服务器,重新启动电脑
当再次尝试启动服务器时,我收到以下错误:
无法连接,服务器可能未运行。无法连接到MySQL
“本地主机”(10061)上的服务器
当我更改回lower\u case\u table\u names=1
它又起作用了。我如何解决这个问题
编辑:
我没有进入ini文件,而是发现我可以通过
选项文件
然后在“常规”选项卡下,我找到了小写字母表名称
,并将其更改为0
但同样的错误 我建议您在此配置中使用value
2
,因为您试图在windows计算机上使用0
,这可能会导致数据库表出现问题,具体取决于for windows/Mac OS对value0
的使用情况:
表名和数据库名使用大写字母存储在磁盘上
在CREATE TABLE或CREATE DATABASE语句中指定。名称
比较区分大小写不应将此变量设置为0
如果您在具有不区分大小写文件的系统上运行MySQL
名称(如Windows或macOS)。如果使用强制将此变量设置为0
--小写表格名称=0(在不区分大小写的文件系统上),并使用不同的字母大小写、索引损坏访问MyISAM表格名称
可能会有结果
在链接文档中,值2
将为您的案例提供帮助,它将使用您使用的相同名称将表存储在磁盘上,在这种情况下,查找将不区分大小写:
表名和数据库名使用大写字母存储在磁盘上
在CREATE TABLE或CREATE DATABASE语句中指定,但MySQL
在查找时将其转换为小写。名称比较不是大小写
敏感的这仅适用于不可用的文件系统
区分大小写!InnoDB表名和视图名存储在
小写,如小写字母表名称=1
正如你在这里看到的
从8.0.5开始
现在禁止使用小写字母表名称启动服务器
与服务器运行时使用的设置不同的设置
初始化。此限制是必需的,因为
各种数据字典表字段都基于在以下情况下定义的设置:
服务器已初始化,并以不同的方式重新启动服务器
该设置将导致标识符的使用方式不一致
进行排序和比较
禁止这样做会导致服务无法启动。可能这两个答案都是相关的——操作系统在处理文件名方面的差异导致8.0之前需要使用该标志。8.0通过将表名存储在内部InnoDB数据库(新的“数据字典”)中添加到该问题中。