首先确认服务器出于安全的状态, 因为在重新设置密码期间,MySQL处于完全没有密码保护的状态,其他用户可以任意地登录和修改信息。可以采用将MySQL对外的端口封闭,并且停止Apache以及所有的用户进程的方法实现服务器的准安全状态。当然了,最安全的状态是到服务器的Console上面操作,并且拔掉网线。
(1)修改MySQL的登录设置:
vi /etc/my.cnf
在[mysqld]的段中加上一句:skip-grant-tables 保存并且退出。
(2)重新启动mysqld
systemctl restart mariadb.service
(3)登录并修改MySQL的root密码
mysql
mysql> USE mysql ;
mysql> UPDATE user SET Password = password ( ‘new-password’ ) WHERE User = ‘root’ ;
mysql> flush privileges ;
mysql> quit
(4)修改回MySQL的登录设置
vi /etc/my.cnf
将刚才在[mysqld]的段中加上的skip-grant-tables删除,保存并且退出。
(5)重新启动mysqld
systemctl restart mariadb.service
OK,现在可以恢复服务器正常工作状态了。
本文介绍了一种在不使用原始密码的情况下更改MySQL root密码的方法。首先确保服务器的安全状态,然后通过临时禁用权限表来绕过密码验证,完成密码重置后记得恢复设置。
1974

被折叠的 条评论
为什么被折叠?



