數(shù)據(jù)庫(kù)初始化
更新時(shí)間:
本章將為您介紹如何進(jìn)行數(shù)據(jù)庫(kù)初始化工作。
1.功能介紹
平臺(tái)提供了2款初始化相關(guān)的節(jié)點(diǎn),后續(xù)初始化工具將逐步迭代推出。
- MySQL初始化:針對(duì)MySQL數(shù)據(jù)的初始化工具,只需填寫需要連接的數(shù)據(jù)庫(kù)相關(guān)信息及sql文件即可完成數(shù)據(jù)庫(kù)初始化工作。
- 初始化節(jié)點(diǎn):通過(guò)用戶上傳鏡像(內(nèi)部包含了導(dǎo)入數(shù)據(jù)庫(kù)數(shù)據(jù)的操作)的方式來(lái)完成初始化工作。
2.功能差異
初始化節(jié)點(diǎn)、自研節(jié)點(diǎn)及中間件節(jié)點(diǎn)生命周期對(duì)比表:
節(jié)點(diǎn)類型 | 初始化節(jié)點(diǎn) | 自研節(jié)點(diǎn)/中間件節(jié)點(diǎn) |
---|---|---|
運(yùn)行次數(shù) | 1次,只在應(yīng)用配置被部署時(shí)運(yùn)行 | n次,應(yīng)用配置被部署及應(yīng)用重啟后都會(huì)重新部署。 |
運(yùn)行時(shí)長(zhǎng) | 短時(shí)間,完成初始工作即結(jié)束 | 長(zhǎng)時(shí)間,應(yīng)用部署后處于長(zhǎng)時(shí)間運(yùn)行的節(jié)點(diǎn)。 |
3.使用說(shuō)明
3.1MySQL初始化節(jié)點(diǎn)
MySQL數(shù)據(jù)庫(kù)的屬性配置
首先需要在應(yīng)用配置
畫布中拖拽MySQL初始化節(jié)點(diǎn),將初始化節(jié)點(diǎn)連線至MySQL數(shù)據(jù)庫(kù)節(jié)點(diǎn),同時(shí)在MySQL數(shù)據(jù)庫(kù)配置中填寫需要被初始化的數(shù)據(jù)庫(kù)相關(guān)配置(數(shù)據(jù)庫(kù)服務(wù)名稱、數(shù)據(jù)庫(kù)名稱、數(shù)據(jù)庫(kù)賬戶、數(shù)據(jù)庫(kù)密碼)。
MySQL初始化的屬性配置
填寫數(shù)據(jù)庫(kù)鏈接信息,并上傳需要執(zhí)行的sql文件。
MySQL節(jié)點(diǎn)與MySQL初始化節(jié)點(diǎn)的字段填寫映射關(guān)系,如下表所示。
節(jié)點(diǎn) | MySQL節(jié)點(diǎn) | MySQL初始化節(jié)點(diǎn) |
---|---|---|
字段填寫關(guān)系 | 服務(wù)名稱 | 數(shù)據(jù)庫(kù)服務(wù)名稱 |
數(shù)據(jù)庫(kù)名稱 | 數(shù)據(jù)庫(kù)名稱 | |
用戶名 | 數(shù)據(jù)庫(kù)用戶名 | |
用戶密碼 | 數(shù)據(jù)庫(kù)密碼 |
初始化節(jié)點(diǎn)
- 初始化節(jié)點(diǎn)的屬性配置。
- 鏡像內(nèi)容鏡像可以通過(guò)很多種方式來(lái)完成相關(guān)數(shù)據(jù)庫(kù)的初始化工作:
- 通過(guò)bash腳本的方式來(lái)import sql文件。
- 通過(guò)代碼方式連接數(shù)據(jù)庫(kù)后執(zhí)行sql文件。
#!/bin/bash --login
function prop() {
env|grep "${1}"|cut -d'=' -f2
}
#從容器的環(huán)境變量中獲取MySQL訪問(wèn)信息
USER=$(prop 'iot\.hosting\.{服務(wù)名稱}\.mysqlUser')
PASSWORD=$(prop 'iot\.hosting\.{服務(wù)名稱}\.mysqlPassword')
HOSTNAME_FULL=$(prop 'iot\.hosting\.{服務(wù)名稱}\.mysqlUrl')
HOSTNAME_TEMP=${HOSTNAME_FULL#jdbc:mysql://}
HOSTNAME=${HOSTNAME_TEMP%:*}
DBNAME=${HOSTNAME_TEMP##*/}
#通過(guò)sql文件初始化數(shù)據(jù)庫(kù)
mysql -h ${HOSTNAME} -u ${USER} -p${PASSWORD} -D ${DBNAME} < db.sql
文檔內(nèi)容是否對(duì)您有幫助?