1、停止MySQL数据服务
systemctl stop mariadb
2、跳过权限表检查并启动MySQL
mysqld_safe --skip-grant-tables&
使用mysqld_safe --skip-grant-tables&命令后,不需要密码也可以进去MySQL,随便输入密码也是可以进入MySQL的,因为这个命令跳过了权限表检查,不需要验证密码。
3、刷新权限
flush privileges;
因为是使用mysqld_safe --skip-grant-tables&命令跳过权限表验证进去的MySQL,如果不进行权限刷新,是无法进行任何修改的操作。进行修改会报错:MariaDB服务器使用--skip-grant-tables选项运行,因此无法执行此语句。
4、修改数据库密码
刷新权限之后,我们就可以修改数据库密码了。
alter user root@localhost identified by '123456';
5、结束进程
在我们完成修改后是需要重启数据库服务的,但是这时候我们重启失败的,这个原因是mysqld_safe --skip-grant-tables&命令导致,所以我们需要把数据库相关的进程结束。
ps aux | grep mariadb
使用ps aux | grep mariadb命令可以查看与数据库相关的进程,然后使用kill命令结束进程,如果不可以结束,可以使用kill -9 强制进程结束。
需要注意:以下这个进程是ps aux | grep mariadb命令的进程,完成之后就结束啦
6、重启MySQL服务
systemctl start mariadb
7、使用新修改的密码登录MySQL