十二 、MySql密码忘了怎么修改(mysql8.0.20)
参考博客: https://blog.csdn.net/csdnzhiwang/article/details/103375413
mysql8.x已经不支持在my.ini中加入skip-grant-tables来跳过密码了
1.整个过程中需要用的主要命令
(1).关闭mysql服务(注意:mysql8020是服务器名,一般为mysql,我的是mysql8020)
net stop mysql8020
(2).进入mysql时跳过密码验证
mysqld --console --skip-grant-tables --shared-memory
(3).设置登录密码为空
UPDATE USER SET AUTHENTICATION_STRING = '' WHERE USER = 'root';
(4).修改密码
ALTER USER 'root'@'localhost' IDENTIFIED BY '12345';
(5).刷新MySQL的系统权限相关表
FLUSH PRIVILEGES;
2.具体操作过程
(1)以管理员身份打开命令行,并进入mysql目录下的bin目录下,我的目录地址为E:\Program\mysql-8.0.20-winx64\bin(如果已经配置环境变量,这步可以省略,下面的步骤中也一样)
(2)关闭mysql服务(我的mysql服务器名为mysql8020,如果安装时没有自己特别命名,默认为mysql关闭服务输入net stop mysql),并输入跳过密码的命令
补充:
(3)新打开一个命令窗口(上面那个窗口不要关闭), 按第一步进入bin目录后,输入mysql,即可免密码进入数据库
(4)切换数据库后,输入跳过密码的命令,如下:
(5)关闭(2)步中的命令窗口,然后启动mysql服务
(6)通过mysql -uroot -p登录mysql,不用输入密码,直接回车,进入后,即可修改密码
(7)修改密码,然后刷新MySQL的系统权限相关表,即可用新密码登录数据库