Files
oceanbase/tools/docker/mini/boot/_boot

40 lines
1.3 KiB
Bash
Executable File

#!/bin/bash
CWD=$(cd `dirname $0`;pwd)
cd "${CWD}"
source _env
STAMP="$(date +%s)"
[[ -f boot.yaml ]] && echo "find boot.yaml, skip configuring..." || {
echo "generate boot.yaml ..."
TMPFILE="boot.${STAMP}.yaml"
cp -f boot-tmp.yaml $TMPFILE
sed -i "s|@OB_HOME_PATH@|${OB_HOME_PATH}|g" $TMPFILE
sed -i "s|@OB_MYSQL_PORT@|${OB_MYSQL_PORT}|g" $TMPFILE
sed -i "s|@OB_RPC_PORT@|${OB_RPC_PORT}|g" $TMPFILE
sed -i "s|@OB_ROOT_PASSWORD@|${OB_ROOT_PASSWORD}|g" $TMPFILE
echo "create boot dirs and deploy ob cluster ..."
mkdir -p $OB_HOME_PATH && obd cluster deploy "${OB_CLUSTER_NAME}" -c $TMPFILE && mv -f $TMPFILE boot.yaml
}
[[ -f boot.yaml ]] && {
echo "start ob cluster ..."
obd cluster restart $OB_CLUSTER_NAME
}
[[ -f init_tenant.sql ]] || {
echo "generate init_tenant.sql ..."
TMPSQL="init_tenant.${STAMP}.sql"
cp -f init_tenant-tmp.sql $TMPSQL
sed -i "s|@OB_TENANT_NAME@|${OB_TENANT_NAME}|g" $TMPSQL
if [[ "${OB_ROOT_PASSWORD}x" != "x" ]]; then
PASSCMD=-p${OB_ROOT_PASSWORD}
fi
echo "init tenant and sysbench database ..."
obclient -h127.1 -uroot@sys -A -Doceanbase -P${OB_MYSQL_PORT} ${PASSCMD} < $TMPSQL &&
obclient -h127.1 -uroot@${OB_TENANT_NAME} -A -P${OB_MYSQL_PORT} < init_tenant_user.sql &&
mv -f ${TMPSQL} init_tenant.sql
} && echo "boot success!" && exec /sbin/init