MySQL 将用户密码加密存储在 mysql.user 系统表中,只有指定管理账号才有访问权限,因此需要您妥善保管好密码,并定期修改密码。MySQL8 是不支持存储明文密码的,如果忘记密码是没法找回的,但是您可以直接修改或重置密码。
首先,停止服务并打开 MySQL 配置文件:
systemctl stop mysql vim /etc/my.cnf 或:vim /etc/mysql/my.cnf 或:vim /etc/mysql/conf.d/mysqld.cnf
然后,添加如下配置后重启服务:
[mysqld] skip-grant-tables
最后,重新登录即可修改 MySQL8 密码,操作完后记得删除配置,并再次重启生效。
mysql -u root //此时可免密登录 ALTER USER 'try8'@'localhost' IDENTIFIED BY 'password';//重新修改密码 systemctl stop mysql //重新启动
一般情况下,MySQL8 密码重置是因为密码过期或者忘记了密码,以下为 MySQL8 密码相关配置,请谨慎处理。
MySQL8 密码安全策略由插件控制,需满足:数字、大小写字母 、特殊字符、至少8位等。
[mysqld] validate_password=off //关闭策略
CREATE USER `用户名`@'%' IDENTIFIED BY '密码'; // 创建一个支持外网访问的用户 GRANT ALL PRIVILEGES on `数据库名`.* to `用户名`@'%'; //为用户设置访问指定数据库的权限 FLUSH PRIVILEGES ; //刷新权限缓存
密码重置步骤如上,先修改配置文件:skip-grant-tables,然后免密登录后修改密码:
use mysql; //切换到系统授权表 set password for 'try8'@'localhost' = password('password'); //5.6改密 update user set authentication_string=password('password') where user='try8'; //5.7改密 flush privileges; //重载权限
MySQL8教程 - MySQL8 忘记密码,主要用于介绍 MySQL 和 MySQL8 数据库,从 MySQL8 重置密码开始,逐步到 MySQL8 密码配置修改等,通篇实用易懂,让 MySQL8 入门更加快速和简单。
《MySQL8教程》主打原创、全部免费,欢迎学习和转载,如需交流请加微信号:try8_cn。