🚀 MySQL RESTful API

简单、强大、灵活的MySQL数据库RESTful接口服务

产品介绍

MySQL RESTful API 是一个轻量级的数据库管理工具,通过HTTP接口即可操作MySQL数据库。无需编写复杂的后端代码,只需发送HTTP请求即可完成所有数据库操作。

适用于快速原型开发、数据分析、自动化脚本、微服务架构等多种场景。

核心特性

📊 动态数据库管理

通过scopename自动创建和管理MySQL数据库,无需手动创建数据库文件。

🔌 统一SQL接口

单一POST接口执行所有SQL操作(SELECT、INSERT、UPDATE、DELETE、CREATE TABLE等)。

🔒 灵活的权限控制

支持API Token和数据库密码两种认证方式,默认关闭,按需开启。

🎨 可视化管理界面

内置Web界面,可查看所有表、表结构、表数据,操作直观简便。

⚡ 高性能连接池

内置MySQL连接池管理,支持高并发访问。

🛠️ 零配置启动

开箱即用,支持环境变量和配置文件两种配置方式。

快速开始

1. 安装和启动

# 安装依赖 go mod download # 设置MySQL连接(可选,默认localhost:3306 root用户无密码) export MYSQL_HOST=localhost export MYSQL_PORT=3306 export MYSQL_USER=root export MYSQL_PASSWORD=your_password # 启动服务 go run . # 服务将在 http://localhost:8080 启动

2. API使用示例

创建表

POST http://localhost:8080/mydb/sql Content-Type: application/json { "sql": "CREATE TABLE users (id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(100), email VARCHAR(100), created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP)" }

插入数据

POST http://localhost:8080/mydb/sql Content-Type: application/json { "sql": "INSERT INTO users (name, email) VALUES ('张三', 'zhangsan@example.com')" }

查询数据

POST http://localhost:8080/mydb/sql Content-Type: application/json { "sql": "SELECT * FROM users WHERE name LIKE '%张%'" }

更新数据

POST http://localhost:8080/mydb/sql Content-Type: application/json { "sql": "UPDATE users SET email = 'newemail@example.com' WHERE id = 1" }

路由说明

GET /

产品介绍页面(当前页面)

GET /:scopename

数据库管理页面,可视化查看和管理数据库

POST /:scopename/sql

执行SQL语句的统一接口

GET /:scopename/tables

获取数据库中所有表的列表

GET /:scopename/table/:tablename/schema

获取指定表的结构信息

GET /:scopename/table/:tablename/data

获取指定表的数据(支持分页)

权限配置

创建 config.json 文件来配置权限:

{ "mysql": { "host": "localhost", "port": "3306", "user": "root", "password": "your_password", "maxOpenConns": 25, "maxIdleConns": 5 }, "auth": { "enabled": true, "apiToken": "your-secret-token-here", "dbPasswords": { "mydb": "database-specific-password", "testdb": "another-password" } } }

启用权限后,需要在请求头中携带Token:

Authorization: Bearer your-secret-token-here X-DB-Password: database-specific-password

💡 快速体验

输入数据库名称,立即进入管理页面:

进入数据库管理页面