数据库初始化

更新时间:

本章将为您介绍如何进行数据库初始化工作。

1.功能介绍

image.png平台提供了2款初始化相关的节点,后续初始化工具将逐步迭代推出。

  • MySQL初始化:针对MySQL数据的初始化工具,只需填写需要连接的数据库相关信息及sql文件即可完成数据库初始化工作。
  • 初始化节点:通过用户上传镜像(内部包含了导入数据库数据的操作)的方式来完成初始化工作。

2.功能差异

初始化节点、自研节点及中间件节点生命周期对比表:

节点类型 初始化节点 自研节点/中间件节点
运行次数 1次,只在应用配置被部署时运行 n次,应用配置被部署及应用重启后都会重新部署。
运行时长 短时间,完成初始工作即结束 长时间,应用部署后处于长时间运行的节点。

3.使用说明

3.1MySQL初始化节点

MySQL数据库的属性配置

首先需要在应用配置画布中拖拽MySQL初始化节点,将初始化节点连线至MySQL数据库节点,同时在MySQL数据库配置中填写需要被初始化的数据库相关配置(数据库服务名称、数据库名称、数据库账户、数据库密码)。image.png

MySQL初始化的属性配置

填写数据库链接信息,并上传需要执行的sql文件。image.png

MySQL节点与MySQL初始化节点的字段填写映射关系,如下表所示。

节点 MySQL节点 MySQL初始化节点
字段填写关系 服务名称 数据库服务名称
数据库名称 数据库名称
用户名 数据库用户名
用户密码 数据库密码

初始化节点

  • 初始化节点的属性配置。

image.png

  • 镜像内容镜像可以通过很多种方式来完成相关数据库的初始化工作:
    • 通过bash脚本的方式来import sql文件。
    • 通过代码方式连接数据库后执行sql文件。
  1. #!/bin/bash --login
  2. function prop() {
  3. env|grep "${1}"|cut -d'=' -f2
  4. }
  5. #从容器的环境变量中获取MySQL访问信息
  6. USER=$(prop 'iot\.hosting\.{服务名称}\.mysqlUser')
  7. PASSWORD=$(prop 'iot\.hosting\.{服务名称}\.mysqlPassword')
  8. HOSTNAME_FULL=$(prop 'iot\.hosting\.{服务名称}\.mysqlUrl')
  9. HOSTNAME_TEMP=${HOSTNAME_FULL#jdbc:mysql://}
  10. HOSTNAME=${HOSTNAME_TEMP%:*}
  11. DBNAME=${HOSTNAME_TEMP##*/}
  12. #通过sql文件初始化数据库
  13. mysql -h ${HOSTNAME} -u ${USER} -p${PASSWORD} -D ${DBNAME} < db.sql