跳转到主内容
websoft网络软件专家 - 深耕网络技术,打造实用软件!

VS Code连接MySQL数据库插件 配置与增删改查

Database Client(作者cweijan)是连接MySQL最省事的方案,因其原生支持MySQL 5.7~8.4及caching_sha2_password认证,无需额外驱动或Java环境,填完host/port/user/password/database四字段即可测试连接成功。 连 MySQL 最省事的方案就是用
Database Client
(作者 cweijan),不是 SQLTools,也不是 MySQL Syntax——后者只高亮,前者配置复杂、容易卡在驱动加载失败。填完 host/port/user/password/database 四个字段,点测试就能通,不报
Client does not support authentication protocol
,也不需要装 Java 或额外二进制。 为什么 Database Client 比 SQLTools 更适合单 MySQL 场景 SQLTools 是平台型插件,自己不带驱动,必须额外装
SQLTools MySQL Driver
;但这个过程极易出错:搜错名字、没重启 VS Code、驱动未启用,都会导致连接失败,日志却只显示
Connection refused
,实际是驱动根本没加载。而
Database Client
原生打包了 MySQL 5.7~8.4 支持,包括
caching_sha2_password
认证,不依赖外部运行时。 连接表单直填,不用手动编辑
connections.json
或
config.json
右键表名 →
Generate SELECT statement
,避免手敲拼错 侧边栏实时刷新结构树,建表/改字段后立刻可见,不用手动 F5 填错 host 或 database 导致 Connection refused / No database selected
localhost
在 Docker、WSL2、Mac M1 场景下大概率连不通,因为 VS Code 进程运行在宿主系统,而 MySQL 实际监听的是容器或子系统 IP。 Docker:host 填
host.docker.internal
(Windows/macOS)或网关 IP(Linux),port 填宿主映射端口(如
3307
),不是容器内
3306
WSL2:执行
cat /etc/resolv.conf | grep nameserver
,取
nameserver
后的 IP Mac M1 + Rosetta:尝试把
localhost
换成
127.0.0.1
Database
字段必须填具体库名(如
myapp_dev
),留空会导致
SELECT * FROM users
直接报
Table 'users' doesn't exist
INSERT 后查不到数据,但语法和连接都正常 大概率是事务没提交。虽然
Database Client
默认开启
autocommit=1
,但某些连接参数(比如手动加了
options=--init-command="SET autocommit=0"
)会把它关掉。 MySQL(Linux) MySQL 9.6.0是面向Linux平台的2026年创新版本,核心架构迎来重大革新。其将外键约束与级联操作从InnoDB引擎层上移至SQL层,确保所有数据变更均被完整记录至Binlog,彻底解决了CDC(变更数据捕获)与主从复制中的数据不一致难题。此外,该版本引入container_aware启动选项以原生适配容器环境,并对审计日志进行了组件化重构,为追求极致数据一致性与云原生体验的开发者提供了全新选择。 下载 执行完
INSERT
后,立刻跑
SELECT LAST_INSERT_ID()
,有返回值说明已写入内存,只是没刷到磁盘 显式加
COMMIT;
,或开头先执行
SET autocommit = 1;
检查连接配置里有没有
"options"
字段,删掉含
autocommit=0
的参数 注意:SQLite 不支持单独
COMMIT
,得用
BEGIN; INSERT; COMMIT;
包起来 SQL 文件中文乱码或导出失败 VS Code 插件读文件时按 UTF-8 解码,但若你用记事本保存 SQL 文件,默认是 GBK;或者插件发送字符集与 MySQL 服务端不一致,就会出现乱码。pg_dump 类导出失败则多因路径不对——插件不走系统 PATH,而是严格按设置项找。 SQL 文件务必用 VS Code 自己另存为 UTF-8 编码(右下角点击编码 → Save with Encoding → UTF-8) MySQL 服务端确认
character_set_client
、
character_set_connection
、
character_set_database
都是
utf8mb4
PostgreSQL 导出失败?终端执行
pg_config --bindir
找到真实
pg_dump
路径,VS Code 设置里填绝对路径,别用
~
或
$HOME
最容易被忽略的是
Database
字段留空和密码含
@
、
/
等特殊字符——前者直接让所有查询报错,后者需 URL 编码(如
my@pwd
→
my%40pwd
)。这些细节不报明显错误,只静默失败或返回空结果。

相关文章