MySQL数据库设置大小写敏感(mysql8.0问题及解决)

Windows中mysql默认大小写不敏感,不区分大小写,在建数据库及数据库表时相应的库名和表名自动变成小写保存,记录将mysql更改为大小写敏感,过程如下:

1.在配置文件(my.ini)中设置参数lower_case_table_names = 2放在[mysqld]下

lower_case_table_names = 0 表名存储为给定的大小,比较区分大小写

lower_case_table_names = 1(默认值)表名存储是小写的,比较的时候不区分大小写

lower_case_table_names = 2 表名存储为给定的大小,比较的时候是小写的

 (设置之后保存,在电脑“服务”中右键重启mysql,用最笨的方法,新建数据库,名字写大写并保存,发现没有用)

2.在第一步基础上(设置完配置文件后不需要重启),再重新对mysql初始化,并在初始化时候设置lower_case_table_names = 2参数:

(1)将mysql中与bin目录在同一级的data文件夹中的数据备份,然后清空

(2)以管理员方式打开cmd

(3) 进入安装mysql的bin目录下

(4)进入之后,先移除之前的mysql服务,注意命令中第一个单词是“mysqld

mysqld --remove mysql

 

(5)输入如下命令,开始初始化,出现框住的内容表示初始化成功了,且data文件夹中有了初始化的文件,(第二个框的内容是初始密码,不包括冒号后的空格,初始密码别弄丢,后面会用

mysqld --initialize --lower-case-table-names=2 --console

 (6)下载mysql服务,下载成功后启动服务

mysqld --install
net start mysql

 (7)登录mysql

mysql -uroot -p

 Enter password后面是需要输入的初始化密码,(没复制进去,自己手动输进去的,注意大小写,别输错,注意是“0”还是“o”,“1”还是大写“I”

 (8)设置新密码,单引号内填入自己的新密码 

alter user 'root'@'localhost' identified by ''; 

遇到的问题:

1.

 解决方法:mysqld --remove mysql 或者sc delete mysql

2.遇到好多次,尝试好多方法都没用,刚开始还以为是设置lower_case_table_names 的原因,甚至重新下载了mysql依然没解决,最后重新初始化后解决了

3.lower_case_table_names设置为2只能在存储表名、数据库名时保存为对应的大小写,比较时仍然不区分大小写。尝试通过上述步骤将lower_case_table_names设置为0,但是失败了,报了以下错误:

错误显示,在my.ini 配置文件中设置了 lower_case_table_names=0,表示使用大小写敏感的表名,但数据目录位于一个不区分大小写的文件系统上,这是不支持的组合。 

然后查了一下“windows中支持大小写敏感的文件系统有哪些”

答案是,Windows 操作系统中,通常默认使用的是大小写不敏感的文件系统(例如 NTFS)。然而,有一些第三方文件系统可以在 Windows 中提供大小写敏感的支持。以下是一些支持大小写敏感的文件系统:

  1. ReFS(Resilient File System): 这是微软引入的一种高级文件系统,虽然默认情况下是大小写不敏感的,但在某些配置下可以启用大小写敏感的功能。

  2. CIFS(Common Internet File System): CIFS 是用于网络共享的协议,它可以在某些情况下支持大小写敏感的文件系统。但这不是文件系统本身,而是一种协议。

  3. Case-Sensitive Linux 文件系统: 如果你在 Windows 上运行 Linux 子系统(WSL),你可以在该子系统中使用大小写敏感的文件系统。

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值