vscode可直连mysql和redis,需选对插件:mysql推荐database client(支持caching_sha2_password)或sqltools+mysql driver;redis推荐vscode-redis或database client;注意权限配置、host填写(docker用host.docker.internal)、连接显式绑定及结果行数限制。

直接连 MySQL 和 Redis,不用切窗口、不装 DBeaver,VSCode 确实能做到——但得选对插件、填对参数、避开几个关键坑。
MySQL 连不上?大概率是插件选错或认证协议不匹配
别装 vscode-mysql 或老版 vscode-database:前者已停更,后者在 MySQL 8+ 上默认报 Client does not support authentication protocol。正确路径只有两条:
-
日常开发推荐:
Database Client(作者 cweijan),开箱即用,原生支持caching_sha2_password,填完 host/port/user/password 点“测试连接”就能过 -
多数据库共存场景:装
SQLTools主扩展 + 单独安装SQLTools MySQL Driver(注意作者必须是mtxr),装完必须重启 VSCode,否则驱动不加载
常见错误:
-
Access denied for user 'root'@'localhost':不是密码错,是 MySQL 用户没开远程权限,执行CREATE USER 'dev'@'%' IDENTIFIED BY 'xxx'; GRANT ALL ON *.* TO 'dev'@'%'; FLUSH PRIVILEGES; -
Connection refused:Docker 里跑的 MySQL,Host别填localhost,macOS/Windows 填host.docker.internal,Linux 填宿主机真实 IP
Redis 连接简单,但命令执行和键浏览功能差异大
VSCode 里连 Redis 不需要驱动层抽象,所以插件选择更直接:
-
vscode-redis:轻量,支持连接、SET/GET、KEYS *浏览,适合调试缓存逻辑 -
Database Client:把 Redis 当作 NoSQL 节点集成进侧边栏,能和 MySQL 同屏管理,但命令支持不如专用插件全(比如不支持SCAN游标分页) -
SQLTools+SQLTools Redis Driver:能连,但仅限基础命令执行,无树形键浏览,实用性低
配置注意点:
Redis 缓存和数据结构管理技能。通过自然语言操作 Redis,支持 String、Hash、List、Set、ZSet、Stream 等数据结构操作。当用户提到 Redis、缓存、消息队列、会话存储时使用此技能。
- 密码字段留空时,部分插件会静默忽略认证,导致连上却查不到数据 —— 明确填
"password": ""或删掉该字段 - Redis 默认端口是
6379,不是6380或63790;如果用了 Redis Stack,HTTP 端口(8080)不能直连,仍走原生 TCP
SQL 文件执行前,必须显式绑定连接
很多人写完 SELECT * FROM users; 右键“执行”,结果弹出空结果或报 No active connection —— 因为 VSCode 不自动把文件和数据库关联。解决方式取决于你用的插件:
-
Database Client:新建.sql文件后,右上角状态栏会出现数据库名称下拉框,手动选一个已配置的连接 -
SQLTools:在文件顶部加注释绑定,例如-- @conn my-mysql-dev,连接名必须和config.json里定义的一致 - 没绑定时右键菜单里“Run Query in MySQL”这类选项是灰色的,不是插件坏了,是连接未激活
小技巧:在 Database Client 侧边栏中右键某张表 → “Generate SELECT statement”,自动生成带库名前缀的可执行语句,避免手误拼错表名。
结果查看和导出,表格功能够用但有边界
内嵌表格确实省事,但别指望它替代专业工具:
- 排序、复制整列、导出 CSV/JSON 都支持,但不支持冻结首行、条件高亮、多结果集切换(如存储过程返回多个结果)
-
DESCRIBE table_name;可用,SHOW CREATE TABLE返回结果会被截断,DDL 复杂时建议终端执行 - 想看索引或外键详情?
Database Client右键表 → “Show Table Info” 可查,SQLTools目前不提供图形化结构面板
最易被忽略的一点:所有插件的结果行数默认限制为 100 或 1000 条,查大表时记得在设置里调高 databaseClient.maxRows 或 sqltools.queryLimit,否则你以为数据就那么多。










