更新时间:2020-01-02 10:43
本章将为您介绍如何进行数据库初始化工作。
平台提供了2款初始化相关的节点,后续初始化工具将逐步迭代推出。
初始化节点、自研节点及中间件节点生命周期对比表:
节点类型 | 初始化节点 | 自研节点/中间件节点 |
---|---|---|
运行次数 | 1次,只在应用配置被部署时运行 | n次,应用配置被部署及应用重启后都会重新部署。 |
运行时长 | 短时间,完成初始工作即结束 | 长时间,应用部署后处于长时间运行的节点。 |
首先需要在应用配置
画布中拖拽MySQL初始化节点,将初始化节点连线至MySQL数据库节点,同时在MySQL数据库配置中填写需要被初始化的数据库相关配置(数据库服务名称、数据库名称、数据库账户、数据库密码)。
填写数据库链接信息,并上传需要执行的sql文件。
MySQL节点与MySQL初始化节点的字段填写映射关系,如下表所示。
节点 | MySQL节点 | MySQL初始化节点 |
---|---|---|
字段填写关系 | 服务名称 | 数据库服务名称 |
数据库名称 | 数据库名称 | |
用户名 | 数据库用户名 | |
用户密码 | 数据库密码 |
#!/bin/bash --login
function prop() {
env|grep "${1}"|cut -d'=' -f2
}
#从容器的环境变量中获取MySQL访问信息
USER=$(prop 'iot\.hosting\.{服务名称}\.mysqlUser')
PASSWORD=$(prop 'iot\.hosting\.{服务名称}\.mysqlPassword')
HOSTNAME_FULL=$(prop 'iot\.hosting\.{服务名称}\.mysqlUrl')
HOSTNAME_TEMP=${HOSTNAME_FULL#jdbc:mysql://}
HOSTNAME=${HOSTNAME_TEMP%:*}
DBNAME=${HOSTNAME_TEMP##*/}
#通过sql文件初始化数据库
mysql -h ${HOSTNAME} -u ${USER} -p${PASSWORD} -D ${DBNAME} < db.sql
在文档使用中是否遇到以下问题
更多建议
匿名提交