CentOS 6环境下找回遗忘的phpMyAdmin用户名和密码求助
别着急,phpMyAdmin本身并不存储独立的登录凭据——它用的是你的MySQL/MariaDB数据库账号密码。下面是找回/重置这些凭据的具体步骤,针对CentOS 6环境:
步骤1:登录到MySQL/MariaDB服务器
分两种情况处理:
- 如果还记得MySQL root密码:
直接在服务器终端执行命令:
输入root密码回车后,即可进入MySQL命令行界面。sudo mysql -u root -p - 如果连MySQL root密码也遗忘了:
- 先停止MySQL服务:
sudo service mysqld stop - 启动服务并跳过权限验证(这样无需密码就能登录):
sudo mysqld_safe --skip-grant-tables & - 现在直接执行命令进入MySQL:
mysql
- 先停止MySQL服务:
步骤2:查看所有数据库用户
进入MySQL命令行后,先切换到系统自带的mysql数据库(存储所有用户信息):
USE mysql;
然后执行查询命令,列出所有可登录的数据库用户及对应的允许登录主机:
SELECT user, host FROM user;
从返回结果里,你就能找到之前用来登录phpMyAdmin的账号(比如常见的root,或者你自定义的用户名)。
步骤3:重置用户密码(如果需要)
找到目标用户后,根据你的MySQL版本(CentOS 6默认是MySQL 5.1系列)执行对应的密码重置命令:
- 针对MySQL 5.1及更早版本:
SET PASSWORD FOR '你的用户名'@'对应的主机' = PASSWORD('你的新密码'); - 如果你升级过MariaDB或更高版本的MySQL,也可以用:
ALTER USER '你的用户名'@'对应的主机' IDENTIFIED BY '你的新密码';
执行完密码修改后,必须刷新权限让变更生效:
FLUSH PRIVILEGES;
额外注意事项
- 如果你需要远程登录phpMyAdmin,要确保目标用户的
host字段不是localhost(可以设为%允许所有远程IP,或者指定你的客户端IP),同时CentOS 6的防火墙要开放3306端口,并且MySQL配置文件/etc/my.cnf里的bind-address不能仅绑定127.0.0.1。 - 如果你之前用了
--skip-grant-tables模式启动服务,操作完成后一定要重启MySQL服务恢复正常权限验证:sudo service mysqld restart
内容的提问来源于stack exchange,提问作者Harshwardhan S
相关产品推荐
相关产品推荐

