首先确认服务器出于安全的状态, 因为在重新设置密码期间,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,现在可以恢复服务器正常工作状态了。