温馨提示×

Ubuntu Postman连接数据库方法

小樊
45
2025-12-20 04:33:07
栏目: 智能运维

Ubuntu 下 Postman 连接数据库的实用方法

核心思路

  • Postman 本身不直接连接数据库,常见做法是通过数据库的 HTTP/REST 接口 或自建一个 中间 API 服务 来执行 SQL,再由 Postman 发送 HTTP 请求进行增删改查。
  • Ubuntu 上,可优先选择带 REST 接口的数据库(如 TDengine),或用一个轻量 Node.js 服务桥接 MySQL/Redis 等,然后用 Postman 测试这些 HTTP 端点。

方法一 通过数据库自带的 REST 接口直连

  • 适用:数据库原生提供 HTTP/REST 接口(如 TDengine)。
  • 步骤
    1. 确认数据库已启用 REST 服务并开放端口(TDengine 默认 6041)。
    2. 在 Postman 新建 POST 请求,URL 形如:
      • 指定数据库:http://:6041/rest/sql/<db_name>
      • 不指定数据库:http://:6041/rest/sql
    3. Headers 添加:Authorization: Basic <base64(user:password)>
    4. Body 选择 raw → text,写入 SQL,例如:
      • 不指定库:show databases;
      • 指定库:use <db_name>; show tables;(注意:REST 接口为无状态,USE 对后续语句无效,表名需带库前缀,或在 URL 中指定 db_name)。
    5. 发送请求,解析返回的 JSON 结果。
  • 示例(列出数据库,curl 与 Postman 等效):
    curl -H ‘Authorization: Basic cm9vdDp0YW9zZGF0YQ==’ -d ‘show databases;’ http://192.168.8.104:6041/rest/sql/testdb
    返回示例:
    { “status”: “succ”, “head”: [“name”,“created_time”,…], “data”: [[“log”,…]], “rows”: 1 }
    说明:从 2.2.0.0 起可在 URL 中指定 db_name,SQL 中未带库前缀时将使用该库。

方法二 自建中间 API 服务连接 MySQL 或 Redis

  • 适用:数据库无原生 REST,或需要更复杂的业务逻辑与权限控制(如 MySQL、Redis)。
  • 思路:用 Node.js 写极简 REST API(如 Express + mysql2/ioredis),在 Ubuntu 上启动服务,Postman 向该服务发送 HTTP 请求完成数据库操作。
  • 快速示例(以 Redis 为例)
    1. 安装依赖并启动服务(示例端口 3000):
      • 安装:sudo apt-get update && sudo apt-get install -y redis-server nodejs npm
      • 初始化并安装:npm init -y && npm install express ioredis
      • 启动服务(示例 app.js):
        const express = require(‘express’); const Redis = require(‘ioredis’);
        const app = express(); const redis = new Redis(); app.use(express.json());
        app.post(‘/set’, async (req,res)=>{ await redis.set(req.body.key,req.body.value); res.send(‘OK’); });
        app.get(‘/get/:key’, async (req,res)=>{ const v=await redis.get(req.body.key); res.json({value:v}); });
        app.listen(3000,()=>console.log(‘API on :3000’));
      • 运行:node app.js
    2. Postman 测试:
      • POST http://localhost:3000/set,Body raw JSON:{“key”:“testKey”,“value”:“testValue”}
      • GET http://localhost:3000/get/testKey
  • 同理可用 mysql2 连接 MySQL,提供 /query 等端点供 Postman 调用。

方法三 使用 xMySQL 将 MySQL 暴露为 REST API