WAMP环境下phpMyAdmin提示#1045密码验证失败求助
解决WAMP中phpMyAdmin无法登录的#1045错误(适配MySQL 5.5.20)
我之前也碰到过一模一样的情况——WAMP图标明明是绿色的,服务都正常,结果phpMyAdmin突然就报#1045 - Access denied for user 'root'@'localhost' (using password: YES)登不上。给你几个亲测有效的办法,按顺序试:
方法一:重置MySQL root密码(最常见的解决思路)
- 先停掉WAMP里的MySQL服务:右键WAMP托盘图标 → MySQL → Stop Service
- 找到你的MySQL安装目录(一般是
C:\wamp\bin\mysql\mysql5.5.20),在这个目录下新建一个文本文件,命名为reset_password.sql,里面写入这段SQL:
把USE mysql; UPDATE user SET password=PASSWORD('你的新密码') WHERE User='root' AND Host='localhost'; FLUSH PRIVILEGES;你的新密码换成你要设置的简单密码(比如123456,先别用特殊字符,避免踩坑) - 打开命令提示符(CMD),切换到MySQL的bin目录:
cd C:\wamp\bin\mysql\mysql5.5.20\bin - 执行命令启动MySQL并加载重置密码的脚本:
mysqld --init-file=C:\wamp\bin\mysql\mysql5.5.20\reset_password.sql - 等个3-5秒,关闭CMD窗口,然后重启WAMP的MySQL服务,再用新设置的密码登录phpMyAdmin试试
方法二:检查phpMyAdmin的config.inc.php配置
如果重置密码后还是不行,大概率是phpMyAdmin的配置文件里的密码和MySQL的root密码不匹配:
- 找到phpMyAdmin的配置文件路径:
C:\wamp\apps\phpmyadmin\(对应你的phpMyAdmin版本,比如3.4.5)\config.inc.php - 用记事本打开后,找到这几行关键配置,确认密码和你刚才设置的一致:
$cfg['Servers'][$i]['user'] = 'root'; $cfg['Servers'][$i]['password'] = '你的新密码'; // 这里要和MySQL root密码完全匹配 $cfg['Servers'][$i]['auth_type'] = 'cookie'; // 推荐用cookie模式,登录时会弹窗输入密码 - 保存文件后,刷新phpMyAdmin页面再尝试登录
方法三:排查端口占用问题(小众但可能的原因)
有时候突然登不上,是因为其他软件(比如Navicat、其他MySQL服务)占用了MySQL默认的3306端口:
- 右键WAMP托盘图标 → Tools → Port Used by MySQL,查看当前端口是否是3306
- 如果显示端口被占用,打开MySQL的配置文件
my.ini(路径:C:\wamp\bin\mysql\mysql5.5.20\my.ini),找到port=3306,改成其他未被占用的端口(比如3307) - 同时在phpMyAdmin的
config.inc.php里添加一行:$cfg['Servers'][$i]['port'] = '3307'; - 保存后重启WAMP服务,再尝试登录
额外注意点
- 确保WAMP的MySQL服务确实在运行:右键WAMP图标 → MySQL → Service → Test Service,确认提示“Service is running”
- 不要用中文或者特殊符号作为密码,MySQL 5.5对这类字符的兼容性不太好,先用纯字母数字的密码测试
- 如果之前修改过MySQL的权限表,可能需要执行
FLUSH PRIVILEGES;命令刷新权限(登录MySQL后执行即可)
内容的提问来源于stack exchange,提问作者Tom Khalid Tom




