MySQL 日常

写在前面

此贴作为一个长期贴,将记录我与 MySQL “相亲相爱” 的日常生活。因版本及时间原因,部分内容可能随着时间而失效,加之每个人的部署环境(系统版本、软件依赖、配置等)不一致,能够解决我的问题的,未必能够解决你的问题。所以呢,如果真遇到了,就遇到了再说吧(。・ω・。)。

本文不会特意更新,换句话说,这里出现的内容,至少都是我实际生产环境中遇到/涉及到的,因此自然无法和其它完善的教程相比,相当于是个“错题本”,方便查阅~

MySQL8.4 重置 root 密码

起因是迁移 waline 数据库的时候创建了新库,但是部署服务是在几天之后,然后想进数据库创建用户的时候发现密码忘了,也没有记在哪里,尝试了几个可能的密码都不对,就只能重置了。
 
停止 MySQL 服务
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` 是不生效的,可以看一下这个帖子的内容。

任何个人或组织,在未征得【发布者】同意时,禁止复制、盗用、采集、发布本站内容到任何网站。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧