自定义 MySQL 配置指南
「微搭私有部署」支持连接自定义的 MySQL 数据库,以满足企业级数据存储和管理需求。本文档将指导您完成 MySQL 数据库的配置和集成。
前置要求
在开始配置之前,请确保您的环境满足以下要求:
数据库版本要求
- MySQL 版本:8.0.30 及以上版本(支持单机版和集群版)
- 版本限制:MySQL 8.4 及以后版本可能不兼容(因禁用了
mysql_native_password插件) - 兼容性检查:建议使用 MySQL 8.0.30 - 8.3.x 版本以确保最佳兼容性
权限要求
配置用于连接的 MySQL 用户需要具备以下权限:
- 表操作权限:
CREATE、DROP、ALTER - 数据操作权限:
SELECT、INSERT、UPDATE、DELETE - 索引权限:
INDEX
生产环境建议
- 高可用性:生产环境建议使用云数据库或自建高可用 MySQL 集群
- 避免 Docker:不推荐使用 Docker 启动的 MySQL 作为生产环境数据存储
- 外部数据库:推荐连接企业自有的外部数据库服务
- 备份策略:确保数据库具备完善的备份和恢复机制
MySQL 配置参数
基础配置要求
为确保「微搭私有部署」与 MySQL 数据库的兼容性,需要对 MySQL 进行以下配置。以下配置适用于 MySQL 8.0 版本。
推荐配置规格
以 腾讯云 CDB MySQL 为例:
| 配置项 | 推荐值 | 说明 |
|---|---|---|
| 版本 | MySQL 8.0 集群版 | 提供高可用性保障 |
| CPU | 2 核及以上 | 根据业务量调整 |
| 内存 | 8GB 及以上 | 确保查询性能 |
| 存储 | 200GB 及以上 | 根据数据量预估 |
| 网络 | 开放指定端口访问权限 | 确保微搭可以连接 |
必需的配置参数
修改 MySQL 配置文件(my.cnf 或 my.ini),添加以下配置:
[client]
# MySQL 客户端程序配置
default-character-set = utf8mb4
[mysql]
# MySQL 命令行客户端配置
default-character-set = utf8mb4
[mysqld]
# MySQL 服务器配置
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
sql_mode = ALLOW_INVALID_DATES
explicit_defaults_for_timestamp = OFF
default-authentication-plugin = mysql_native_password
- 字符集设置:使用
utf8mb4确保完整的 Unicode 支持 - 排序规则:
utf8mb4_unicode_ci提供更好的国际化支持 - 认证插件:
mysql_native_password确保与微搭的兼容性 - 时间戳设置:关闭显式默认值以兼容旧版本行为
单机版部署配置
「微搭私有部署」单机版提供两种 MySQL 配置方式:可视化配置和脚本配置。
方式一:可视化配置部署
单机版支持通过可视化界面配置外部 MySQL 数据库,操作简单直观。
操作步骤:
打开安装器页面: 在浏览器中访问:
http://<服务器IP>:38080配置外部 MySQL: 在安装器页面中找到外部中间件配置选项,开启 MySQL 配置:

- 填写数据库信息:
- 数据库主机地址
- 端口号(默认 3306)
- 用户名和密码
- 数据库名称
方式二:脚本配置部署
通过配置文件的方式进行 MySQL 配置,适合自动化部署场景。
此配置需要在 部署微搭流程 中,运行安装脚本 ./install.sh 之后进行。
步骤 1:创建配置文件
vim config.yaml
在当前目录下创建 config.yaml 文件,输入以下配置:
## config.yaml
customMySQL:
enabled: true
host: 192.168.3.14 # MySQL 服务器地址
port: 3306 # MySQL 端口
username: root # 数据库用户名
password: your_password # 数据库密码
dbName: lowcode # 主数据库名称
dbRuntimeName: lcruntime # 运行时数据库名称
- 网络连通性:确保输入的 MySQL 地址在当前服务器上可以访问
- 数据库预创建:
dbName和dbRuntimeName指定的数据库必须提前创建 - 数据库独立性:两个数据库名称不能相同,用于不同的业务模块
步骤 2:创建数据库
在 MySQL 中执行以下 SQL 语句创建所需的数据库:
-- 创建主数据库
CREATE DATABASE `lowcode` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
-- 创建运行时数据库
CREATE DATABASE `lcruntime` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
步骤 3:验证配置
保存配置文件后,验证内容是否正确:
cat config.yaml
确认配置信息无误后,可以看到类似以下的输出:

执行安装部署
根据您的使用情况选择对应的部署方式:
- 首次安装
- 升级安装
适用场景:首次使用外部 MySQL 服务
按照 部署流程 继续完成后续安装步骤。
适用场景:之前已安装过内置 MySQL,现在要切换到外部 MySQL
./upgrade.sh
MySQL 升级方式不会自动进行数据迁移,如需保留原有数据,请提前备份并手动迁移。
常见问题排查
问题:执行 ./install.sh 后提示 "Access denied"
可能原因:
- MySQL 连接信息配置错误
- 网络连通性问题
- 用户权限不足
解决方案:
- 检查配置文件:确认
config.yaml中的 MySQL 连接信息正确 - 测试连通性:在当前服务器上使用 MySQL 客户端测试连接
mysql -h 192.168.3.14 -P 3306 -u root -p - 验证权限:确认 MySQL 用户具备必要的数据库操作权限
- 检查防火墙:确保服务器防火墙和 MySQL 服务器防火墙都允许连接
集群版部署配置
「微搭私有部署」Kubernetes 集群版通过修改配置文件的方式集成外部 MySQL 数据库。
配置步骤
步骤 1:编辑配置文件
此配置需要在 Kubernetes 集群版部署指南 下载部署脚本之后进行。
编辑集群安装配置文件 config.yaml,在 middleware 部分添加 MySQL 配置:
middleware:
mysql:
## MySQL 数据库连接信息
host: your-mysql-host.com # MySQL 服务器地址
port: 3306 # MySQL 端口号
username: your-username # 数据库用户名
password: your-password # 数据库密码
## 数据库名称配置
dbname: lowcode # 主数据库名称
dbRuntimeName: lcruntime # 运行时数据库名称
- 数据库独立性:
dbname与dbRuntimeName不能使用相同的数据库名称 - 数据库预创建:确保指定的数据库已在 MySQL 中创建
- 网络连通性:确保 Kubernetes 集群可以访问 MySQL 服务器
- 用户权限:数据库用户需要具备完整的表操作权限
步骤 2:创建数据库
在 MySQL 服务器中执行以下 SQL 语句:
-- 创建主数据库
CREATE DATABASE `lowcode` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
-- 创建运行时数据库
CREATE DATABASE `lcruntime` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
-- 授权用户权限(根据实际用户名调整)
GRANT ALL PRIVILEGES ON lowcode.* TO 'your-username'@'%';
GRANT ALL PRIVILEGES ON lcruntime.* TO 'your-username'@'%';
FLUSH PRIVILEGES;
步骤 3:执行部署
配置完成后,运行部署命令:
./wedaCli up