本文共 1105 字,大约阅读时间需要 3 分钟。
在CentOS 7上安装并管理MySQL 8时,可能会遇到忘记root密码的情况。以下是详细的解决步骤:
首先,停止正在运行的MySQL服务:
systemctl stop mysqld
这会将MySQL服务安全停止,不会有数据丢失。
以安全模式启动MySQL,确保不会锁定root账户:
mysqld_safe --skip-grant-tables &
注意:& 表示后台运行,可以继续执行其他操作。
使用 nano 编辑器打开MySQL配置文件:
nano /etc/my.cnf
找到 [mysqld]
部分,添加以下行以跳过密码验证:
skip-grant-tables
保存修改:按下 Ctrl + O
保存,退出编辑器:按下 Ctrl + X
。
重新启动MySQL服务:
systemctl start mysqld
检查启动状态:
systemctl status mysqld.service
确保服务正常启动,没有错误提示。
进入MySQL命令行:
mysql -u root
在MySQL命令行执行以下命令:
FLUSH PRIVILEGES;ALTER USER 'root'@'localhost' IDENTIFIED BY 'Aa_123456';FLUSH PRIVILEGES;
注意:新密码“Aa_123456”必须符合复杂度要求,包含大写、小写字母、符号和数字。
将 skip-grant-tables
从配置文件中删除,恢复默认设置:
nano /etc/my.cnf
删除或注释 [mysqld]
下的 skip-grant-tables
行,保存并退出。
停止并重新启动MySQL服务:
systemctl stop mysqldsystemctl start mysqld
检查服务状态:
systemctl status mysqld.service
确保服务正常运行。
使用新的root密码登录:
mysql -u root -p
输入密码,确保能够成功登录。
journalctl -xe
通过以上步骤,您可以顺利解决忘记root密码的问题,并确保MySQL服务正常运行。
转载地址:http://anbfk.baihongyu.com/