云服务器MySQL 8.0 REST API调用教程
文章分类:售后支持 /
创建时间:2025-11-18
在云服务器的实际开发场景中,MySQL 8.0新增的REST API功能为开发者提供了无需编写复杂SQL语句即可操作数据库的便利方式。这种基于HTTP协议的交互模式,能快速实现数据增删改查,尤其适合前后端分离的应用架构。以下详细说明在云服务器上调用MySQL 8.0 REST API的完整流程。
前期环境配置
使用MySQL 8.0 REST API前,需确保云服务器已部署MySQL 8.0及以上版本,并完成服务启用设置。具体操作如下:
首先,通过SSH连接云服务器,找到MySQL配置文件(通常为/etc/my.cnf或/etc/mysql/mysql.conf.d/mysqld.cnf),在[mysqld]部分添加以下配置以启用REST API服务:
[mysqld]
mysqlx=ON # 开启MySQL X协议(REST API基于此协议)
mysqlx_port=33060 # 设定REST API服务端口(默认33060)
保存配置后,执行`systemctl restart mysql`(或对应系统的服务重启命令)使配置生效。完成后可通过`netstat -tlnp | grep 33060`检查端口是否正常监听,确认服务启动成功。
步骤一:创建测试数据库与表
登录云服务器的MySQL终端(命令:`mysql -u root -p`),创建用于测试的数据库和数据表。示例操作如下:
CREATE DATABASE testdb; # 创建名为testdb的数据库
USE testdb; # 切换至testdb数据库
CREATE TABLE users ( # 创建users表
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(255) NOT NULL,
age INT
);
此操作生成了包含id(自增主键)、name(姓名)、age(年龄)三个字段的users表,后续API调用将基于此表进行。
步骤二:创建专用API用户
为保障数据库安全,建议创建独立的API专用用户,避免直接使用root权限。在MySQL终端执行以下命令:
-- 创建用户(%表示允许所有IP访问,生产环境建议限制具体IP)
CREATE USER 'api_user'@'%' IDENTIFIED BY 'StrongPassword123!';
-- 授予用户对testdb数据库的所有操作权限
GRANT ALL PRIVILEGES ON testdb.* TO 'api_user'@'%';
-- 刷新权限使设置生效
FLUSH PRIVILEGES;
注意:实际使用时需将密码替换为高强度组合(包含字母、数字、符号),并定期更换。
步骤三:REST API增删改查操作
完成前期配置后,可通过curl工具或编程工具调用REST API。以下以curl命令为例演示核心操作:
插入数据(POST请求)
向users表插入一条记录,命令格式如下:
curl -X POST \
-H "Content-Type: application/json" \
-d '{"name": "Alice", "age": 28}' \
"http://云服务器公网IP:33060/testdb/users"
执行成功后,返回结果会包含新记录的id(如{"document_id": "1"})。
查询数据(GET请求)
查询users表所有数据,命令如下:
curl "http://云服务器公网IP:33060/testdb/users"
返回结果为JSON格式的记录列表,例如:
`[{"id":1,"name":"Alice","age":28}]`
更新数据(PUT请求)
修改id为1的记录,将年龄更新为29:
curl -X PUT \
-H "Content-Type: application/json" \
-d '{"name": "Alice", "age": 29}' \
"http://云服务器公网IP:33060/testdb/users/1"
删除数据(DELETE请求)
删除id为1的记录:
curl -X DELETE "http://云服务器公网IP:33060/testdb/users/1"
实际开发中,建议将云服务器公网IP替换为域名(需提前绑定),并通过HTTPS协议传输数据以提升安全性。此外,可结合云服务器的访问控制功能(如安全组)限制REST API端口的访问来源,避免未授权请求。合理利用MySQL 8.0 REST API,能显著简化云服务器上的数据库交互流程,提升开发效率。
工信部备案:粤ICP备18132883号-2