You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

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

火山引擎 最新活动