1、修改mysql配置文件,在文件最后加上skip-grant-tables

image.png

2、重启mysql,这里必须重启mysql配置才生效

3、使用mysql -uroot -p登录mysql,登录时不需要输入密码

image.png

4、登录后使用use mysql切换到mysql数据库,再用update语句把密码清空

use mysql;
update user set authentication_string='' where user='root';

注意:这里的update语句只能清空密码,而不能直接修改密码

5、退出mysql,并把mysql配置文件第一次加的skip-grant-tables删除,然后重启mysql

6、现在使用mysql -uroot -p正常登录,依然不需要输入密码,因为刚才已经把root密码清空了

7、现在可以使用mysqladmin命令或进入到数据库后使用alter语句修改密码了

#不需要登录mysql
mysqladmin -u root password '123456'

#或
#使用root帐户登录mysql,不需要输入密码
mysql -u root -p
#切换到mysql数据库
use mysql;
#修改root密码:
alter user 'root'@'%' IDENTIFIED BY '123456';
#刷新
flush privileges;

原文来源于:http://www.studyta.cn/Sql/129.html