init_db.sh 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  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='test'
  10. password='Test@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. docker cp ${db1}.sql mysql57:/root/${db1}.sql
  32. docker cp ${db2}.sql mysql57:/root/${db2}.sql
  33. docker cp ${db3}.sql mysql57:/root/${db3}.sql
  34. # 还原整个数据库结构(不包含数据)
  35. docker exec -i mysql57 mysql -h${host} -u${username} -p${password} ${db11} < /root/${db1}.sql
  36. docker exec -i mysql57 mysql -h${host} -u${username} -p${password} ${db21} < /root/${db2}.sql
  37. docker exec -i mysql57 mysql -h${host} -u${username} -p${password} ${db31} < /root/${db3}.sql
  38. # 还原表数据到数据库
  39. # mysql -h${host} -u${username} -p${password} ${db11} < msg_email_account.sql
  40. }
  41. echo "create db..."
  42. create_db
  43. echo "init db..."
  44. init_db