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

无法通过SSH隧道连接MySQL但本地连接正常,求解决方法

解决SSH隧道连接MySQL时Access denied for 'bitrix0'@'::1'的问题

问题原因

本地连接MySQL正常,但通过SSH隧道连接时出现Access denied for user 'bitrix0'@'::1' (using password: YES)错误,核心原因是:

  • 你的bitrix0用户仅被授权从localhost(IPv4本地回环或UNIX套接字)访问
  • SSH隧道转发连接时,MySQL会将请求识别为来自服务器的IPv6本地回环地址::1,而该地址不在bitrix0的授权host列表中

解决方案

1. 给bitrix0用户添加::1访问权限

通过本地已有的MySQL连接执行以下SQL:

-- 授权所有数据库权限(可根据需求替换为指定数据库,如`your_db.*`)
GRANT ALL PRIVILEGES ON *.* TO 'bitrix0'@'::1' IDENTIFIED BY '你的bitrix0用户密码';
-- 刷新权限使设置生效
FLUSH PRIVILEGES;

2. 可选:授权所有本地回环地址访问

如果需要兼容IPv4和IPv6的本地连接,可同时授权:

GRANT ALL PRIVILEGES ON *.* TO 'bitrix0'@'127.0.0.1' IDENTIFIED BY '你的bitrix0用户密码';
GRANT ALL PRIVILEGES ON *.* TO 'bitrix0'@'::1' IDENTIFIED BY '你的bitrix0用户密码';
FLUSH PRIVILEGES;

3. DBeaver连接配置检查

确保DBeaver的SSH隧道和MySQL连接设置正确:

  • 进入MySQL连接的SSH标签,勾选「使用SSH隧道」,填写SSH服务器的地址、端口、用户名及认证方式
  • 切换到主标签,MySQL主机地址填写127.0.0.1(强制使用IPv4,避免触发IPv6的::1识别),端口保持MySQL默认的3306
  • 填写bitrix0作为用户名,对应密码

4. 验证权限设置

执行以下SQL确认权限已生效:

SELECT user, host FROM mysql.user WHERE user = 'bitrix0';

结果中应包含bitrix0对应的localhost、127.0.0.1和::1条目。

内容的提问来源于stack exchange,提问作者Юрий Глущенко

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.06 08:52:58