You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用SQLyog创建MySQL用户后连接提示Access Denied错误求助

解决MySQL "Access denied for user@ipaddress using password yes" 错误

问题背景

  • 通过SQLyog创建了localhost下的MySQL用户
  • 已为该用户授予全部全局权限
  • 尝试连接时触发错误:Sqlyog mysql access denied for user@ipaddress using password yes

常见解决方法

1. 修正用户主机匹配问题

MySQL中user@localhost和user@[IP地址]是两个独立的用户身份,你创建的是仅允许本地localhost访问的用户,但连接时用的是IP地址,导致权限不匹配。

先执行SQL查看现有用户的主机配置:

SELECT user, host FROM mysql.user;

如果列表里只有你的用户名@localhost,可以按需求选择:

  • 允许任意IP访问该用户:
CREATE USER '你的用户名'@'%' IDENTIFIED BY '你的密码';
GRANT ALL PRIVILEGES ON *.* TO '你的用户名'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;
  • 仅允许当前客户端IP访问:
CREATE USER '你的用户名'@'你的客户端IP' IDENTIFIED BY '你的密码';
GRANT ALL PRIVILEGES ON *.* TO '你的用户名'@'你的客户端IP' WITH GRANT OPTION;
FLUSH PRIVILEGES;

2. 确保权限已刷新

授予权限后必须执行FLUSH PRIVILEGES;,否则MySQL不会加载新的权限配置,修改等于没生效。

3. 核对连接参数

检查SQLyog连接窗口里的用户名、密码是否和创建用户时完全一致,注意不要有空格或大小写错误(MySQL用户名默认不区分大小写,但部分环境可能例外)。

4. 检查MySQL绑定地址

打开MySQL配置文件(Linux是/etc/my.cnf//etc/mysql/my.cnf,Windows是my.ini),找到bind-address参数:

  • 如果设置为127.0.0.1,只能本地连接,需改为0.0.0.0允许所有IP访问,或指定具体IP
  • 修改后重启MySQL服务生效

5. 排查防火墙/安全组

确认服务器防火墙或云安全组已开放MySQL默认端口3306,允许你的客户端IP访问。

内容的提问来源于stack exchange,提问作者Moeez

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.04 15:07:07