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 数据库中的系统数据库和用户数据库都删除掉,执行下面命令:
  1. 查看 /var/lib/mysql 目录下面的内容

  1. 递归删除 /var/lib/mysql 目录下面的内容
root@ubuntu:/var/lib/mysql# rm -rf *

五、创建数据库目录

  • 上面将已存在的数据库目录 /var/lib/mysql 删除,下面将手动创建一个空目录且进行授权。命令如下:
  1. 手动创建一个mysql目录,就是刚刚删除的的mysql目录
root@ubuntu:/var/lib# mkdir mysql
  1. 为 /var/lib/mysql 目录授权,设置目录的所属用户和所属组
chown -R mysql:mysql mysql
  1. 查看目录详细信息,授权成功

六、配置添加(重要!!!)

  • 如果需要区分大小写,需要在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 中。
  1. 查找临时密码
  • 使用 cat 和 grep 命令配合查找,命令如下:
cat /var/log/mysql/error.log

  1. 使用临时密码登陆Mysql,依次输入下面命令:
mysql -uroot -p

  1. 完成后可以下面命令退出Mysql:
    exit;

  2. 修改root用户密码(密码改成自己想要的,尽量复杂一点)

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '密码';

十、查看Mysql8大小写敏感问题是否生效,需登陆Mysql。

mysql> show global variables like '%lower_case%';

本文转自:
https://bbs.huaweicloud.com/blogs/380008

posted @ 2024-11-07 13:45  笨功夫才是真功夫  阅读(70)  评论(0编辑  收藏  举报