1. 检查服务是否启动
检查mysql服务是否启动,如果启动,关闭mysql服务
//查看mysql服务状态
ps -ef | grep -i mysql
//关闭服务
service mysql stop
2. 修改mysql的配置文件my.cnf
my.cnf配置文件的位置,一般在/etc/my.cnf,有些版本在/etc/mysql/my.cnf
在配置文件中,增加2行代码
[mysqld]
skip-grant-tables
![](https://img-blog.csdnimg.cn/img_convert/fc4e2e5ab2d1c9c2324efb9a29fce245.png)
作用是登录mysql的时候跳过密码验证
然后启动mysql服务,并进入mysql
#重新启动服务
service mysqld restart #或者 service mysql restart
#进入mysql
mysql
3. 修改密码
update user set password=password("12345678") where user="root";
# 或者
set password for root@localhost = password("12345678");
# 修改密码成功后记得刷新
flush privileges;
# 退出mysql
exit
4. 重新登录
最后把/etc/my.cnf中的skip-grant-tables注释掉,然后重启mysql,下面我们就可以使用root新的密码登录MySQL了。
# 重启mysql
service mysqld restart
# 使用密码登录mysql
mysql -u root -p
结语:如果以上都不行,数据库没有重要东西则可以直接重装mysql