SQLTools 连不上 MySQL 的常见原因有三:未安装启用对应驱动插件、密码含特殊字符导致解析失败、远程 MySQL 未开放 bind-address 和用户 host 权限。

SQLTools 连接 MySQL 时连不上,常见原因有哪些
连不上基本卡在三处:驱动没装、密码明文写错、远程库没开权限。SQLTools 本身不内置驱动,安装插件后必须额外安装对应驱动(比如 SQLTools MySQL/MariaDB Driver),否则点测试连接会直接报 Driver not found。
- 检查是否已安装驱动:扩展面板搜
SQLTools MySQL,确认状态是“已启用” - 密码含特殊字符(如
@、/、:)会导致 URL 解析失败,建议改用环境变量方式填写:${env:MYSQL_PASS} - 远程 MySQL 默认绑定
127.0.0.1,需确认bind-address设为0.0.0.0,且用户授权包含 host(例如CREATE USER 'dev'@'%' IDENTIFIED BY 'pwd';)
Database Client 怎么快速查看表结构和数据
它不像 SQLTools 那样依赖右键菜单触发查询,而是靠树形节点展开+双击直达。连接成功后,左侧数据库图标下展开到具体表,双击表名就自动执行 SELECT * FROM table_name LIMIT 100;右键表名可选 Show Create Table 查 DDL,或 Export as CSV 导出当前结果。
- 注意:BLOB 字段(如图片、PDF)默认显示为
[BLOB],点击单元格才弹出预览窗口,不是所有类型都支持内嵌渲染 - 导出时勾选
Include headers才能生成带列名的 CSV,否则第一行是纯数据 - 如果表字段太多导致横向滚动困难,拖拽列边界手动调宽比等比例缩放更实用
多个数据库共存时,怎么避免连接配置混乱
SQLTools 把连接信息存在 .vscode/settings.json 里,Database Client 则存在全局 settings.json(用户级),混用容易覆盖。推荐统一用工作区级配置,且给每个连接加明确前缀。
- 在项目根目录建
.vscode/settings.json,把连接数组写在里面,VSCode 自动优先读取 - Connection Name 建议带环境标识,比如
prod-postgres-01、local-mysql-dev,别用test或db1这种模糊名 - 敏感字段(如 password)不要硬编码,改用
${env:DB_PASS},并在系统 shell 中提前 export,Windows 用户注意用 PowerShell 的$env:DB_PASS="xxx"
MongoDB for VS Code 和 SQLTools 的核心差异在哪
根本区别在于查询语言和交互范式:MongoDB 插件用 JavaScript 写 find()、aggregate(),SQLTools 强制走 SQL。如果你查的是关系型库,别装 MongoDB 插件凑数;反之,用 SQLTools 查 MongoDB 会报语法错误——它根本不识别 { name: "foo" } 这种写法。
- MongoDB 插件右键集合能直接打开 “Playground”,里面写 JS 脚本,支持
db.collection.find().toArray()这类链式调用 - SQLTools 的“New Query”文件默认后缀是
.sql,即使你连的是 MongoDB,它也不会帮你转译查询,只会提示Unsupported database type - 两者都支持保存历史查询,但 MongoDB 插件的历史记录按集合分组,SQLTools 按连接分组,归档逻辑不同
实际用起来,最常被忽略的是驱动和环境变量的配合——装了插件≠能连,少一个驱动或漏配一个 env 变量,就会卡在“测试连接”按钮上转圈。


















