Yearning MySQL 审计平台命令行工具。无需打开 Web 界面,直接在终端执行 SQL 查询、浏览元数据、导出结果。
uv sync安装后 sql 命令全局可用。
export YEARNING_URL=http://your-yearning-server
export YEARNING_USER=your_username
export YEARNING_PASS=your_password创建 ~/.sqlrc 设置默认数据源和数据库,避免每次手动指定:
source: 你的数据源名称
database: 你的数据库名
配置后,所有子命令会自动使用这些默认值。
sql loginsql sources # 列出所有数据源
sql sources --idc 生产 # 按 IDC 筛选
sql databases # 列出默认数据源的数据库
sql databases "数据源名称" # 列出指定数据源的数据库
sql tables # 列出默认库的表
sql tables "数据源" 数据库名 # 列出指定库的表sql query 'SELECT * FROM some_table LIMIT 10'
sql query 'SELECT ...' "数据源" 数据库名 # 覆盖默认值
sql query 'SELECT ...' --json # JSON 输出
sql query 'SELECT ...' --timeout 60 # 超时 60 秒sql query 'SELECT ...' -o # 默认 xlsx
sql query 'SELECT ...' -o csv # CSV 格式
sql query 'SELECT ...' -o json # JSON 格式sql shell
sql shell "数据源名称" 数据库名 # 覆盖默认值Shell 内快捷命令:
| 命令 | 说明 |
|---|---|
\s / \d |
列出所有数据库 |
\s dbname |
切换数据库 |
\t |
列出当前库所有表 |
exit / quit / \q |
退出 |
启动本地代理服务器,让 DBeaver/Navicat/MySQL CLI 等客户端通过 Yearning 执行查询:
sql proxy # 启动代理(默认端口 3307)
sql proxy --port 3308 # 自定义端口
sql proxy -v # 详细日志连接方式:
# MySQL CLI
mysql -h 127.0.0.1 -P 3307 -u 数据源名 数据库名
# DBeaver / Navicat 等图形客户端
# Host: 127.0.0.1 Port: 3307 Username: 数据源名称 Password: 留空代理参数:
| 参数 | 说明 | 默认值 |
|---|---|---|
--host |
绑定地址 | 127.0.0.1 |
--port |
监听端口 | 3307 |
--source |
数据源名称或 ID | 从 ~/.sqlrc 读取 |
--database |
默认数据库名 | 从 ~/.sqlrc 读取 |
--url |
Yearning URL | 从环境变量读取 |
--user |
要求认证的用户名 | 无 |
--password |
要求的认证密码 | 无 |
任意命令加 -v 或 --verbose 查看调试信息:
sql query 'SELECT 1' -v- 通过 HTTP API 登录 Yearning 获取 Bearer Token
- 查询前自动创建查询工单(支持自动审批模式)
- 通过 WebSocket + msgpack 协议执行 SQL 并获取结果
- Token 持久化到本地,后续命令自动复用
sql proxy将 MySQL 协议转换为 Yearning API 调用,兼容各类 MySQL 客户端