具体步骤如下:
-
修改MySQL的配置文件(默认为/etc/my.cnf),在[mysqld]下添加一行skip-grant-tables
-
保存配置文件后,重启MySQL服务 service mysqld restart
-
再次进入MySQL命令行 mysql -uroot -p,输入密码时直接回车,就会进入MySQL数据库了,这个时候按照常规流程修改root密码即可。
依次输入:
>use mysql; 更改数据库
>UPDATE user SET PASSWORD =password("passwd") WHERE USER= 'root'; 重设密码
-
mysql>update mysql.user set authentication_string=password('123qwe') where user='root' and Host ='localhost';
-
>flush privileges; 刷新MySQL的系统权限相关表,以防止更改后拒绝访问;或或者重启MySQL服务器
-
密码修改完毕后,再按照步骤1中的流程,删掉配置文件中的那行,并且重启MySQL服务,新密码就生效了。
-
在进入后输入指令显示 error 1820错误;输入一下指令
-
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
-
SET PASSWORD = PASSWORD('新密码');