mysql8 开始只能在初始化中开始设置不区分大小写
一、准备工作
1、查询数据库是否区分大小写
show variables like '%case_table%';
注:
lower_case_table_names 1 表示 mysql 是不区分大小写的 ,0 表示 mysql 是区分大小写的
2、备份mysql中的所有库数据
二、开始设置不区分大小写
1、停止服务
systemctl stop mysql
2、删除错误日志
rm -rf /var/log/mysql/error.log
3、删除数据库与用户数据,删除前,要做备份
rm -rf /var/lib/mysql/*
4、创建文件夹并授权,
# 进入文件夹
cd /var/lib/
# 文件一般都存在的,存在则不需要重新创建,并查看权限是否是mysql的,如果不是请赋权
# 创建文件夹
mkdir mysql
# 授权处理
chown -R mysql:mysql mysql
5、配置mysql 不区分大小写
lower_case_table_names = 1
6、初始化mysql
mysqld --defaults-file=/etc/mysql/my.cnf --initialize --user=mysql --basedir=/var/lib/mysql --datadir=/var/lib/mysql
7、启动mysql
systemctl start mysql.service
8、重置mysql会重新设置mysql 密码,可以通过错误日志查询到
sudo cat /var/log/mysql/error.log | grep password
或者
grep "A temporary password" /var/log/mysql/error.log
9、登录并且修改密码
# 登录
mysql -u root -p
#在登录时,需要初始化密码时,执行命令
ALTER USER USER() IDENTIFIED BY '123456';
#修改链接方式
update user set Host='%' where User='root';
# 刷新权限,不执行下面命令会报错
flush privileges;
alter user 'root'@'%' identified with mysql_native_password by '123456';
# 刷新
flush privileges;