写在前面
此贴作为一个长期贴,将记录我与 MySQL “相亲相爱” 的日常生活。因版本及时间原因,部分内容可能随着时间而失效,加之每个人的部署环境(系统版本、软件依赖、配置等)不一致,能够解决我的问题的,未必能够解决你的问题。所以呢,如果真遇到了,就遇到了再说吧(。・ω・。)。
MySQL8.4 重置 root 密码
systemctl stop mysqld
修改配置文件跳过认证
# my.cnf
vim /etc/my.cnf
# 添加这行
skip_grant_tables=1
启动 MySQL
systemctl start mysqld
登录MySQL:此时可以直接回车进入,然后设置密码为空(加密,不能直接设置):
mysql -uroot -p
use mysql;
update user set authentication_string='' where user='root';
quit
修改配置文件,把加的那一行删掉或者注释掉,然后重启 MySQL。
systemctl restart mysqld
退出之后重新登录,直接回车进入,然后修改密码:
alter user 'root'@'localhost' identified by 'MySQL@2024';
还看到有一种情况改配置 `my.cnf` 是不生效的,可以看一下这个帖子的内容。