Skip to content

MySQL

查看 Markdown

arknet 提供原生、header-only 的单节点 MySQL Classic Protocol 客户端,通过自身 IO 运行机制实现报文拆包、认证、查询和预处理命令,不需要 Boost.MySQL 或 MySQL 客户端驱动。

分类 接口与行为
连接 mysql::connection,支持域名或 IP 端点、数据库和凭据配置
TLS 默认要求 TLS,验证证书链与 DNS/IP 身份
认证 caching_sha2_password、mysql_native_password 及受支持的认证切换
查询 FIFO 文本查询,列元数据和类型化结果行拥有自身数据
预处理 类型化二进制参数和结果,语句句柄绑定具体会话
事务 在同一条连接上显式开始、提交和回滚
连接池 有限额的 mysql::pool,只能移动的独占租约,复用前重置会话
控制 队列与结果限额、超时、取消和会话重置
失败处理 服务端错误码与 SQLSTATE,明确标记结果未知,不重放命令

开始使用

连接 API 需要启用 ARKNET_ENABLE_SSL。即便某条连接显式禁用 TLS,认证哈希仍需要 OpenSSL。支持 Boost.Asio 与 Standalone Asio,IO context 和线程由网络库管理。

范围

每条命令处理一个 Classic Protocol 结果,不协商多语句或多结果执行、LOCAL INFILE、压缩、游标分批获取、query attributes、可选结果元数据或任意认证插件。不受支持的协议交互会明确失败,不会尝试在回复边界不确定时继续复用连接。

真实服务端验证包含 MySQL Community Server 8.4.11。协议测试覆盖报文分片、类型化值、限额与取消;部署容量和性能需要单独在本地测量,边界见性能。

Navigation

Type to search…

↑↓ navigate↵ selectEsc close