如何设置VSCode连接MySQL数据库?推荐哪些数据库管理插件?

2026-05-02 23:343阅读0评论SEO资源
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计884个文字,预计阅读时间需要4分钟。

如何设置VSCode连接MySQL数据库?推荐哪些数据库管理插件?

plaintextDatabase Client(cweijan 版)是 VSCode 中连接 MySQL 的最佳选择,特别适合仅使用 MySQL 的日常开发。安装完成后,即可填写参数进行测试连接,不会出现Client does not support authentication protocol的错误,也不会卡在Connecting...界面。

为什么连不上?先看错误信息再动手

连 MySQL 失败基本就三类原因,对应不同解法:

  • Access denied for user:不是密码输错了,而是 MySQL 没开 localhost% 的登录权限。执行 CREATE USER 'vscode'@'localhost' IDENTIFIED BY '123456'; GRANT ALL ON *.* TO 'vscode'@'localhost'; FLUSH PRIVILEGES;
  • Client does not support authentication protocol:MySQL 8.0+ 默认用 caching_sha2_password,但部分插件只认 mysql_native_password。进 MySQL 执行 ALTER USER 'vscode'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
  • Connection refused:检查 mysqld 进程是否运行(sudo systemctl status mysql 或任务管理器),再确认 netstat -ano | findstr :3306(Windows)或 lsof -i :3306(macOS/Linux)有没有监听;Docker 用户注意宿主机端口是否映射正确

Database Client 连接配置必须填对的四个字段

它不依赖额外驱动,原生支持 MySQL 5.7~8.4,但以下字段留空或填错就会静默失败:

  • Host:本地填 localhost;Docker 容器填 host.docker.internal(macOS/Windows)或宿主机 IP(Linux)
  • Port:显式写 3306,别省略;若 Docker 映射到 3307,就填 3307
  • Password:即使为空密码,也得填一个空格或留字段但不删——留空会导致连接不触发、无报错
  • Database:必须填具体库名(如 myapp_dev);留空后右键“Select All Rows”会直接报 Table 'users' doesn't exist

SQLTools + 驱动组合的硬性前提

如果你真要同时管 PostgreSQL、SQLite 和 MySQL,SQLTools 是更稳的方案,但必须满足三个条件:

  • SQLTools 主体扩展 + SQLTools MySQL/MariaDB Driver(不是“MySQL Connector/NET”或其他名字)
  • 装完必须重启 VSCode,否则驱动不会加载,日志只显示 Connection refused,实际是根本没走认证流程
  • 连接配置里必须加 "authPlugin": "mysql_native_password",路径在 ~/.sqltools/config.json(macOS/Linux)或 %USERPROFILE%\.sqltools\config.json(Windows);图形界面填的参数不生效

执行查询前最容易被忽略的一件事

无论用哪个插件,只要状态栏右下角没显示连接名(比如 mysql://vscode@localhost:3306/myapp_dev),所有 SQL 都是静默失败的——不报错、不出结果、也不提示未连接。

补救方法很简单:新建一个 .sql 文件,写一行 SELECT 1;,右键 → “Run Current Query”,首次会弹出连接选择框;选中你的连接后,状态栏才真正激活。之后再点表名查数据、右键生成语句,才会有上下文。

这个“手动激活连接上下文”的步骤,文档不提、插件也不提醒,但它是绝大多数“点了没反应”的真正原因。

标签:vscodeMysql

本文共计884个文字,预计阅读时间需要4分钟。

如何设置VSCode连接MySQL数据库?推荐哪些数据库管理插件?

plaintextDatabase Client(cweijan 版)是 VSCode 中连接 MySQL 的最佳选择,特别适合仅使用 MySQL 的日常开发。安装完成后,即可填写参数进行测试连接,不会出现Client does not support authentication protocol的错误,也不会卡在Connecting...界面。

为什么连不上?先看错误信息再动手

连 MySQL 失败基本就三类原因,对应不同解法:

  • Access denied for user:不是密码输错了,而是 MySQL 没开 localhost% 的登录权限。执行 CREATE USER 'vscode'@'localhost' IDENTIFIED BY '123456'; GRANT ALL ON *.* TO 'vscode'@'localhost'; FLUSH PRIVILEGES;
  • Client does not support authentication protocol:MySQL 8.0+ 默认用 caching_sha2_password,但部分插件只认 mysql_native_password。进 MySQL 执行 ALTER USER 'vscode'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
  • Connection refused:检查 mysqld 进程是否运行(sudo systemctl status mysql 或任务管理器),再确认 netstat -ano | findstr :3306(Windows)或 lsof -i :3306(macOS/Linux)有没有监听;Docker 用户注意宿主机端口是否映射正确

Database Client 连接配置必须填对的四个字段

它不依赖额外驱动,原生支持 MySQL 5.7~8.4,但以下字段留空或填错就会静默失败:

  • Host:本地填 localhost;Docker 容器填 host.docker.internal(macOS/Windows)或宿主机 IP(Linux)
  • Port:显式写 3306,别省略;若 Docker 映射到 3307,就填 3307
  • Password:即使为空密码,也得填一个空格或留字段但不删——留空会导致连接不触发、无报错
  • Database:必须填具体库名(如 myapp_dev);留空后右键“Select All Rows”会直接报 Table 'users' doesn't exist

SQLTools + 驱动组合的硬性前提

如果你真要同时管 PostgreSQL、SQLite 和 MySQL,SQLTools 是更稳的方案,但必须满足三个条件:

  • SQLTools 主体扩展 + SQLTools MySQL/MariaDB Driver(不是“MySQL Connector/NET”或其他名字)
  • 装完必须重启 VSCode,否则驱动不会加载,日志只显示 Connection refused,实际是根本没走认证流程
  • 连接配置里必须加 "authPlugin": "mysql_native_password",路径在 ~/.sqltools/config.json(macOS/Linux)或 %USERPROFILE%\.sqltools\config.json(Windows);图形界面填的参数不生效

执行查询前最容易被忽略的一件事

无论用哪个插件,只要状态栏右下角没显示连接名(比如 mysql://vscode@localhost:3306/myapp_dev),所有 SQL 都是静默失败的——不报错、不出结果、也不提示未连接。

补救方法很简单:新建一个 .sql 文件,写一行 SELECT 1;,右键 → “Run Current Query”,首次会弹出连接选择框;选中你的连接后,状态栏才真正激活。之后再点表名查数据、右键生成语句,才会有上下文。

这个“手动激活连接上下文”的步骤,文档不提、插件也不提醒,但它是绝大多数“点了没反应”的真正原因。

标签:vscodeMysql