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

Windows10下WSL2中API连接MariaDB遇ETIMEDOUT超时问题求助

解决WSL2(Kali-Linux)内API连接MariaDB超时问题及DBeaver连接优化建议

一、API连接MariaDB超时的解决方案

1. 修正API数据库连接地址

WSL2环境内的服务直接通过本地回环地址通信即可,无需使用WSL的外部IP(172.xx.xx.x):

  • 将API配置中的数据库连接地址从172.xx.xx.x改为localhost或127.0.0.1
  • 确认端口保持MariaDB默认的3306(若自定义过端口则对应修改)

2. 检查并调整MariaDB用户权限

如果API使用的数据库用户仅授权了外部IP访问,会导致本地连接失败:

  1. 登录WSL内的MariaDB:
    mysql -u root -p
    
  2. 查看现有用户的授权主机:
    SELECT user, host FROM mysql.user;
    
  3. 为API使用的用户添加本地访问权限(替换your_user、your_database、your_password为实际值):
    GRANT ALL PRIVILEGES ON your_database.* TO 'your_user'@'localhost' IDENTIFIED BY 'your_password';
    
  4. 刷新权限生效:
    FLUSH PRIVILEGES;
    

3. 确认MariaDB网络配置

保持bind-address = 0.0.0.0的配置(无需改回127.0.0.1,该配置同时支持WSL内部和Windows端访问),并重启服务:

sudo systemctl restart mariadb

二、DBeaver连接WSL2 MariaDB的优化配置

1. 解决WSL IP动态变化问题

WSL2重启后IP会改变,可通过以下方式固定访问地址:

  • Hosts映射:打开Windows系统的C:\Windows\System32\drivers\etc\hosts文件,添加一行(替换为你的WSL实际IP):
    172.xx.xx.x wsl-kali
    
    之后DBeaver可直接使用wsl-kali作为连接地址,无需每次修改IP。
  • Localhost转发:确保Windows端MariaDB服务已停止,直接在DBeaver中使用localhost作为连接地址(WSL的3306端口会自动转发到Windows本地)。

2. 连接参数优化

  • 超时设置:在DBeaver连接设置的「高级」选项中,将「连接超时」调整为30秒左右,避免因网络波动导致连接失败。
  • SSL配置:若MariaDB未配置SSL,在连接设置的「SSL」选项中选择「不使用SSL」;若已配置则对应启用,增强连接安全性。
  • 连接池启用:在「连接池」选项中开启连接池,减少重复创建连接的开销,提升操作效率。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.18 19:12:47