MySql8.0忘记密码
修改配置文件
修改/etc/my.cnf
配置文件,在[mysqld]
后加上如下语句:
skip-grant-tables
重启服务
systemctl restart mysqld
登录MySQL
mysql -u root -p
重置密码
1、首先查看当前root用户相关信息,在mysql数据库的user表中
select host,user,authentication_string from user;
-
host: 允许用户登录的ip‘位置’%表示可以远程;
-
user:当前数据库的用户名;
-
authentication_string: 用户密码;在mysql 5.7.9以后废弃了password字段和password()函数;
2、如果当前root用户authentication_string字段下有内容,先将其设置为空;
use mysql;
update user set authentication_string='' where user='root';
flush privileges;
exit;
3、退出mysql, 删除/etc/my.cnf文件最后的 skip-grant-tables 重启mysql服务;
service mysqld restart
4、使用root用户进行登录,因为上面设置了authentication_string为空,所以可以免密码登录;
5、使用ALTER修改root用户密码
ALTER user 'root'@'localhost' IDENTIFIED BY 'XiaoWang123#';
至此修改成功; 从新使用用户名密码登录即可