Mysql8.0设置大小写不敏感解决方案

发现了一篇解决mysql数据库大小写的方法,分享给大家 

原文地址: 

https://bbs.huaweicloud.com/blogs/380008?_refluxos=a10

一、备份Mysql数据库

  • 重新初始化mysql,相当于“恢复出厂设置”,所以一定要备份好重要的数据库,就是data目录下面的那些数据库文件;

二、停止Mysql服务

  • 在修改配置之前,请先把mysql服务停止,执行命令如下:
    systemctl stop mysql.service

三、删除错误日志

  • 为了方便查看 mysql 的错误日志,可以先将 /var/log/mysqld.log 删除。此处路径按照当前配置的路径来,命令如下:
    rm /var/log/mysqld.log

四、删除系统数据库与用户数据库

  • 将 mysql 数据库中的系统数据库和用户数据库都删除掉,执行下面命令:
  1. 查看 /var/lib/mysql 目录下面的内容      
  2. 递归删除 /var/lib/mysql 目录下面的内容
    root@ubuntu:/var/lib/mysql# rm -rf *

五、创建数据库目录

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

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

  • 如果需要区分大小写,需要在mysqld.cnf 中添加配置来忽略大小写,命令如下:
    root@ubuntu:/etc/mysql# vim ./mysql.conf.d/mysqld.cnf
  • 命令输入后,添加如图配置,保存退出

七、初始化Mysql

  • 执行如下命令初始化 mysql 数据库:
    mysqld --defaults-file=/etc/mysql/mysql.conf.d/mysqld.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

2.使用临时密码登陆Mysql,依次输入下面命令:
mysql -uroot -p
fu,%K##nU9%c

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

4.修改root用户密码(密码改成自己想要的,尽量复杂一点)
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '密码';

十、查看Mysql8大小写敏感问题是否生效,需登陆Mysql。
mysql> show global variables like '%lower_case%';

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值