#!/bin/bash set -e ############################################################################### # 初始化数据库, 包括创建数据库和初始化数据库表 ############################################################################### base_dir=`pwd` cd ${base_dir}/schema host='127.0.0.1' username='test' password='Test@123456' db1='tnb_account_tdb' db2='tnb_content_tdb' db3='tnb_oss_tdb' 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 cp ${db1}.sql mysql57:/root/${db1}.sql docker cp ${db2}.sql mysql57:/root/${db2}.sql docker cp ${db3}.sql mysql57:/root/${db3}.sql # 还原整个数据库结构(不包含数据) docker exec -i mysql57 mysql -h${host} -u${username} -p${password} ${db11} < /root/${db1}.sql docker exec -i mysql57 mysql -h${host} -u${username} -p${password} ${db21} < /root/${db2}.sql docker exec -i mysql57 mysql -h${host} -u${username} -p${password} ${db31} < /root/${db3}.sql # 还原表数据到数据库 # mysql -h${host} -u${username} -p${password} ${db11} < msg_email_account.sql } echo "create db..." create_db echo "init db..." init_db