全部产品
云市场

数据库初始化

更新时间:2019-04-19 00:12:13

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

功能介绍

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

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

功能差异

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

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

使用说明

Mysql初始化节点
  • mysql数据库的属性配置

image.png

  • mysql初始化的属性配置

image.png

  • 操作步骤
    • 应用配置画布中拖拽Mysql初始化节点
    • 将初始化节点连线至mysql数据库节点
    • 填写需要被初始化的数据库相关配置(数据库服务名称、数据库名称、数据库账户、数据库密码)
    • 上传需要执行的sql文件
  • 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