Sublime Text 不能直接运行 SQL,所有执行均依赖本地 mysql CLI 工具可用、PATH 正确及参数合法;必须先验证 mysql --version 有输出,再配置 Build System 或 SQLTools,否则 90% 出现“无输出”或“command not found”。

Sublime Text 不能直接运行 SQL,所有“运行”效果都依赖本地 mysql 命令行工具是否可用、路径是否正确、参数是否合法;跳过环境验证直接配插件,90% 会卡在“无输出”或“command not found”。
确认 mysql CLI 已安装且可被调用
这是整个流程的硬性前提,不是可选项。Sublime 不会帮你装客户端,也不会自动找 PATH。
- 打开终端(macOS/Linux)或 PowerShell(Windows),执行
mysql --version,必须返回类似mysql Ver 8.0.33的输出 - 如果报
command not found或'mysql' is not recognized,说明没装 MySQL 客户端,或没加进系统 PATH - Mac 用户常用 Homebrew 安装:
brew install mysql-client;Windows 用户推荐从 MySQL 官网下载 MySQL Installer,勾选 “MySQL Client” 组件 - PATH 配置后,重启 Sublime Text 才能生效(它启动时读一次环境变量)
用 Build System 调用 mysql 最轻量可控
不装 Node.js、不配 JSON 连接文件、不处理插件兼容性,适合只查一两个库的日常场景。但要注意密码和文件路径的安全与转义。
- Sublime → Tools → Build System → New Build System,粘贴以下内容(按需改 host/user/db):
{
"cmd": ["mysql", "-h", "localhost", "-u", "root", "-p", "mydb", "-e", "source $file"],
"selector": "source.sql",
"shell": true,
"working_dir": "$file_path"
}
-
-p会触发交互式输密,避免明文写密码;若要用免密登录,先运行mysql_config_editor set --login-path=local --user=root --password,再把命令换成["mysql", "--login-path=local", "mydb", "-e", "source $file"] -
$file是当前 SQL 文件路径,确保文件以.sql结尾,且 Sublime 语法识别为 SQL(右下角状态栏应显示 “SQL”) - 执行时按
Ctrl+B(Windows/Linux)或Cmd+B(macOS),结果直接输出在 Sublime 底部面板
SQLTools 插件配置的关键陷阱
功能比 Build System 多(支持多库、连接管理、语法高亮),但链路更长,任一环节出错就静默失败。
- 必须装 Node.js v16+,不是“有就行”,
node -v和npm -v都得能正常返回版本号 - 插件设置里
executablePath必须填mysql的绝对路径:macOS 可用which mysql查,Windows 常见是C:\Program Files\MySQL\MySQL Server 8.0\bin\mysql.exe(注意双反斜杠) - 连接配置写在
connections.json,密码绝不要明文写,用${env:MYSQL_PWD}并提前设环境变量,否则容易暴露 - 每条语句都是独立进程启动:
BEGIN后跟COMMIT在两个Ctrl+B之间无效,事务不延续
真正容易被忽略的是编码和错误捕获:Build System 默认不合并 stderr,报错如 Unknown database 'mydb' 可能直接消失;SQLTools 对 utf8mb4 字符串解析常失败,中文乱码或报错时先检查客户端和服务端字符集是否一致。


















