必须同时安装并启用sqltools主体插件和sqltools mysql/mariadb driver(作者mtxr),缺一则报“no driver installed”;host、port(默认3306)及ssl配置(云环境需显式设置ssl字段)须准确,且每次重启或切换工作区后需手动connect。

装完 SQLTools 主体插件后,不装 SQLTools MySQL/MariaDB Driver,连 MariaDB 一定失败——它不是可选组件,是硬性依赖。
必须同时启用两个扩展:SQLTools + MariaDB 驱动
VS Code 不识别 MariaDB 为独立数据库类型,它被归在 MySQL 兼容协议下。所以你要装的是 SQLTools MySQL/MariaDB Driver(作者 mtxr),不是名字带 “MariaDB” 但作者非 mtxr 的第三方驱动。常见错误是搜到“MariaDB for VS Code”这类插件,结果连接时卡在 Driver not found 或握手失败。
- 主扩展:
SQLTools(mtxr 发布) - 配套驱动:
SQLTools MySQL/MariaDB Driver(同样 mtxr) - 两个都得在扩展面板里点“启用”,禁用任意一个都会导致右键 Connect 时弹出
No driver installed
connections.json 里 host 和 port 填错最常导致 ETIMEDOUT
MariaDB 默认端口是 3306,但很多人漏写;host 写 localhost 在 Docker 场景下会连不上——容器内解析 localhost 指向自己,而不是宿主机的 MariaDB。此时应填 host.docker.internal(Windows/macOS)或宿主机真实 IP(Linux)。
- 本地直连:host =
127.0.0.1(比localhost更可靠,避免 Unix socket 干扰) - Docker 容器连宿主机:host =
host.docker.internal,port =3306 - 云服务(如 DigitalOcean Managed DB):host 是提供的域名,且必须开启 SSL(见下一条)
SSL 配置不匹配,连接会静默超时
MariaDB 10.2+ 默认要求 SSL,而 SQLTools 的 MySQL 驱动默认 ssl: false。云托管服务(如 ScaleGrid、AWS RDS 兼容版)强制 SSL,不配就卡在 Connecting… 无报错。
- 在
connections.json对应连接项里加字段:"ssl": {"rejectUnauthorized": true} - 若用自签名证书(开发环境),改用:
"ssl": {"rejectUnauthorized": false} - 不建议删掉
ssl字段来“绕过”,驱动会按默认值处理,仍可能失败
执行语句和导出结果要注意三件事
Ctrl+Enter 执行当前语句前,先确认右下角状态栏显示的是你刚连上的 MariaDB 连接名,否则会报 no connection found。导出只对当前查询结果页生效,不分页拉全量数据需手动加 LIMIT。
- 执行单句:光标放在
SELECT行,按Ctrl+Enter;选中多行再执行,只会运行选中部分 - 导出 CSV:结果面板右上角点击
Export→CSV,仅导出当前页(默认 100 行),不是全部结果 - 防卡死:大表必加
LIMIT,SQLTools 不限制返回行数,SELECT *拉 10 万行可能让 VS Code UI 假死
真正容易被忽略的是连接状态不持久:每次重启 VS Code、切换工作区,甚至有时只是关闭再打开 SQLTools 面板,连接都会断开。绿色圆点消失后,必须手动右键连接名 → Connect,没有自动重连机制。











