init_db.sh 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. #!/bin/bash
  2. set -e
  3. ###############################################################################
  4. # 初始化数据库, 包括创建数据库和初始化数据库表
  5. ###############################################################################
  6. base_dir=`pwd`
  7. cd ${base_dir}/schema
  8. host='127.0.0.1'
  9. username='dev'
  10. password='Dev@123456'
  11. db1='tnb_account_tdb'
  12. db2='tnb_content_tdb'
  13. db3='tnb_oss_tdb'
  14. db11='tnb_account_tdb'
  15. db21='tnb_content_tdb'
  16. db31='tnb_oss_tdb'
  17. create_db() {
  18. sql1="CREATE DATABASE ${db1} DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;"
  19. sql2="CREATE DATABASE ${db2} DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;"
  20. sql3="CREATE DATABASE ${db3} DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;"
  21. docker exec -i mysql57 mysql -u${username} -p${password} -e "CREATE DATABASE ${db1} DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;"
  22. docker exec -i mysql57 mysql -u${username} -p${password} -e "CREATE DATABASE ${db2} DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;"
  23. docker exec -i mysql57 mysql -u${username} -p${password} -e "CREATE DATABASE ${db3} DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;"
  24. # mysql -h${host} -u${username} -p${password} << EOF
  25. # ${sql1}
  26. # ${sql2}
  27. # ${sql3}
  28. # EOF
  29. }
  30. init_db() {
  31. # 还原整个数据库结构(不包含数据)
  32. docker exec -i mysql57 mysql -h${host} -u${username} -p${password} ${db11} < ${db1}.sql
  33. docker exec -i mysql57 mysql -h${host} -u${username} -p${password} ${db21} < ${db2}.sql
  34. docker exec -i mysql57 mysql -h${host} -u${username} -p${password} ${db31} < ${db3}.sql
  35. # 还原表数据到数据库
  36. # mysql -h${host} -u${username} -p${password} ${db11} < msg_email_account.sql
  37. }
  38. echo "create db..."
  39. create_db
  40. echo "init db..."
  41. init_db