#!/bin/bash set -e ############################################################################### # 初始化数据库, 包括创建数据库和初始化数据库表 ############################################################################### base_dir=`pwd` cd ${base_dir}/schema host='127.0.0.1' username='dev' password='Dev@123456' db1='tnb_account_rdb' db2='tnb_content_rdb' db3='tnb_oss_rdb' db11='tnb_account_tdb' db21='tnb_content_tdb' db31='tnb_oss_tdb' create_db() { sql1="CREATE DATABASE ${db1} DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;" sql2="CREATE DATABASE ${db2} DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;" sql3="CREATE DATABASE ${db3} DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;" docker exec -i mysql57 mysql -u${username} -p${password} -e "CREATE DATABASE ${db1} DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;" docker exec -i mysql57 mysql -u${username} -p${password} -e "CREATE DATABASE ${db2} DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;" docker exec -i mysql57 mysql -u${username} -p${password} -e "CREATE DATABASE ${db3} DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;" # mysql -h${host} -u${username} -p${password} << EOF # ${sql1} # ${sql2} # ${sql3} # EOF } init_db() { # 还原整个数据库结构(不包含数据) docker exec -i mysql57 mysql -h${host} -u${username} -p${password} ${db1} < ${db11}.sql docker exec -i mysql57 mysql -h${host} -u${username} -p${password} ${db2} < ${db21}.sql docker exec -i mysql57 mysql -h${host} -u${username} -p${password} ${db3} < ${db31}.sql # 还原表数据到数据库 # mysql -h${host} -u${username} -p${password} ${db11} < msg_email_account.sql } echo "create db..." create_db echo "init db..." init_db