VSCode连接MySQL必须使用SQLTools+SQLTools MySQL/MariaDB Driver组合,因MySQL 8.0+默认caching_sha2_password认证,旧插件不兼容;需手动配置"authPlugin": "mysql_native_password"并重启VSCode,否则查询静默失败。

VSCode 能直接连 MySQL,但必须用对插件组合,否则连 caching_sha2_password 认证这关都过不去——MySQL 8.0+ 默认用这个插件,旧版插件一试就报错“Access denied”,不是密码错,是根本没走对认证流程。
必须装 SQLTools + MySQL/MariaDB Driver 两个扩展
只装 SQLTools 主体不行,它只是个框架;必须额外安装配套的 SQLTools MySQL/MariaDB Driver(注意名字带斜杠,不是“SQLTools for MySQL”之类变体)。这两个缺一不可,装完必须重启 VSCode,否则右下角状态栏不会出现数据库连接名,所有查询都会静默失败——不报错、不出结果、也不提示未连接。
- 在扩展市场搜 “SQLTools”,认准作者是
mtxr;Driver 插件搜 “SQLTools MySQL/MariaDB Driver”,作者也是mtxr - 别用
cweijan的MySQL插件:不支持 socket 连接、无连接复用、中文字段名补全失效,且SHOW CREATE TABLE结果会被截断 - 装完重启后,左侧活动栏会出现数据库图标(服务器形状),点开才有“+”号添加连接
连接配置里 authPlugin 是关键参数
MySQL 8.0+ 默认认证方式是 caching_sha2_password,但很多插件默认尝试 mysql_native_password。如果连接时提示“Access denied for user”,大概率是认证插件不匹配。你得手动在连接配置里加一项:
{
"authPlugin": "mysql_native_password"
}这个配置项不是界面上的输入框,而是要点击连接右侧的“编辑 JSON”按钮,在 JSON 配置里手动加上。加完保存,再测试连接。如果 MySQL 用户是用 CREATE USER 创建的,默认可能不支持 mysql_native_password,需要先在 MySQL 命令行执行:
ALTER USER 'your_user'@'localhost' IDENTIFIED WITH mysql_native_password BY 'your_password';
-
Database字段可以留空,但留空后首次查询必须先执行USE db_name;,不能直接写SELECT * FROM table; - Host 填
localhost有时连不上,换成127.0.0.1更稳(尤其 Windows 上) - Port 默认
3306,但如果 MySQL 是 Docker 启动或改过端口,这里必须同步
查询执行和结果查看的实际操作路径
连接成功后,右下角状态栏会显示连接名(比如 “MySQL @ localhost”),这才是真正激活的状态。没看到这个,说明没连上,所有操作都无效。
- 新建一个
.sql文件,写好语句后,右键选择“Execute Query”(不是“Run Code”) - 快捷键是
Ctrl+Alt+E(Windows/Linux)或Cmd+Alt+E(macOS),但前提是光标在可执行语句内,且文件后缀是.sql -
DESCRIBE table_name;可用,但SHOW CREATE TABLE在含长注释或 JSON 字段时容易被截断,别全信输出 - 查数据别依赖右键“Select Top 1000”,有些插件这个功能不稳定;直接写
SELECT * FROM table LIMIT 100;更可控
最常被忽略的一点:VSCode 不会自动把当前 SQL 文件和某个连接绑定。每次打开新文件,或者切换工作区,都得手动点右下角连接名确认激活——它不记上下文,也不会继承上次连接。这个细节不注意,你会反复怀疑是不是插件坏了。


















