先登陆服务器,找到自己的my.cnf文件,通常会在 /etc目录下(如果不在,可以用find / -name my.cnf命令找一下),
然后使用 vi my.cnf 命令编辑该文件(建议先备份),在[mysqld]下面加上 skip-grant-tables (默认没有[mysqld],需自己加),
作用是登陆时跳过登陆认证,换句话说就是root什么密码都可以登陆进去
然后:wq(:x)保存退出后,重启mysql( sudo /etc/init.d/mysql restart)。
接下来登录mysql,不需要输入人密码
# mysql -uroot -p
然后更改密码
mysql> use mysql;
mysql> update user set authentication_string=PASSWORD("新密码") where user='root'; (旧版使用 update user set password=password('123') where user='root'; )
mysql> flush privileges;
退出mysql,删除skip-grant-tables
重启mysql,完成。
参考连接:https://blog.csdn.net/lazybrain/article/details/80112676