此文档也适用MySQL 8.4,已测试通过
在 MySQL 8 中,数据目录初始化之后,不再允许更改 lower_case_table_names = 1 的 值;
我的环境是redhat enterprise linux (Rocky Linux 8.10)
1.下载mysql rpm
tar -cf mysql-8.4.2-1.el8.x86_64.rpm-bundle.tar
systemctl stop mysqld
#注意备份数据库,如果是全新环境可以忽略备份
rm -rf /var/lib/mysql/*
yum install mysql-community-*.x86_64.rpm
vim /etc/my.cnf
[mysqld]
lower_case_table_names = 1
mysqld --defaults-file=/etc/my.cnf --initialize
--user=mysql
--basedir=/var/lib/mysql
--datadir=/var/lib/mysql
systemctl stop mysqld
sudo mysqld_safe --skip-grant-tables &
8.开启一个新terminal
mysql -u root
UPDATE mysql.user SET authentication_string='' WHERE user='root';
FLUSH PRIVILEGES;
exit
pkill mysqld
systemctl start mysqld
mysql -u root
ALTER USER 'root'@'localhost' IDENTIFIED BY '你的新密码';
FLUSH PRIVILEGES;
exit
11.测试新密码
mysql -u root -p