Mysql8.0设置大小写不敏感解决方案[转]
【摘要】 初始化Mysql8.0,修改Mysql8.0大小写敏感问题(默认敏感,改为不敏感)。
在Debian12 下验证通过。
一、备份Mysql数据库
- 重新初始化mysql,相当于“恢复出厂设置”,所以一定要备份好重要的数据库,就是data目录下面的那些数据库文件;
二、停止Mysql服务
- 在修改配置之前,请先把mysql服务停止,执行命令如下:
systemctl stop mysql.service
三、删除错误日志
- 为了方便查看 mysql 的错误日志,可以先将 /var/log/mysqld.log 删除。此处路径按照当前配置的路径来,命令如下:
rm /var/log/mysqld.log
四、删除系统数据库与用户数据库
- 将 mysql 数据库中的系统数据库和用户数据库都删除掉,执行下面命令:
- 查看 /var/lib/mysql 目录下面的内容
- 递归删除 /var/lib/mysql 目录下面的内容
root@ubuntu:/var/lib/mysql# rm -rf *
五、创建数据库目录
- 上面将已存在的数据库目录 /var/lib/mysql 删除,下面将手动创建一个空目录且进行授权。命令如下:
- 手动创建一个mysql目录,就是刚刚删除的的mysql目录
root@ubuntu:/var/lib# mkdir mysql
- 为 /var/lib/mysql 目录授权,设置目录的所属用户和所属组
chown -R mysql:mysql mysql
- 查看目录详细信息,授权成功
六、配置添加(重要!!!)
- 如果需要区分大小写,需要在mysqld.cnf 中添加配置来忽略大小写,命令如下:
root@ubuntu:/etc/mysql# vim ./mysql.conf.d/mysqld.cnf
- 命令输入后,添加如图配置,保存退出
七、初始化Mysql
- 执行如下命令初始化 mysql 数据库:
mysqld --defaults-file=/etc/mysql/my.cnf --initialize --user=mysql --basedir=/var/lib/mysql --datadir=/var/lib/mysql
八、启动Mysql服务
systemctl start mysql.service
九、登陆Mysql客户端
- 由于上面执行了 MySql 初始化操作,曾经的密码已经不能用了。MySQL 将在初始化过程中创建临时密码,临时密码存储在 /var/log/mysql/mysqld.log 中。
- 查找临时密码
- 使用 cat 和 grep 命令配合查找,命令如下:
cat /var/log/mysql/error.log
- 使用临时密码登陆Mysql,依次输入下面命令:
mysql -uroot -p
-
完成后可以下面命令退出Mysql:
exit; -
修改root用户密码(密码改成自己想要的,尽量复杂一点)
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '密码';
十、查看Mysql8大小写敏感问题是否生效,需登陆Mysql。
mysql> show global variables like '%lower_case%';
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek “源神”启动!「GitHub 热点速览」
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 我与微信审核的“相爱相杀”看个人小程序副业
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)
· spring官宣接入deepseek,真的太香了~