exec_tnb_init.sh 5.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110
  1. #!/bin/bash
  2. sql_dir='/home/reghao/Dropbox/tnb/'
  3. host='127.0.0.1'
  4. username='test'
  5. password='Test_123456'
  6. env_dest='rdb'
  7. env_src='tdb'
  8. db1='tnb_account_'${env_dest}
  9. db2='tnb_content_'${env_dest}
  10. db3='tnb_oss_'${env_dest}
  11. db4='nacos_config'
  12. #######################################################################################################################
  13. # 删除已存在的数据库
  14. #######################################################################################################################
  15. sql1="DROP DATABASE IF EXISTS ${db1};"
  16. sql2="DROP DATABASE IF EXISTS ${db2};"
  17. sql3="DROP DATABASE IF EXISTS ${db3};"
  18. sql4="DROP DATABASE IF EXISTS ${db4};"
  19. echo 'drop database if exists...'
  20. # mysql -h${host} -u${username} -p${password} << EOF
  21. # ${sql1}
  22. # ${sql2}
  23. # ${sql3}
  24. # ${sql4}
  25. # EOF
  26. docker exec -it mysql80 mysql -h${host} -u${username} -p${password} -e "${sql1}"
  27. docker exec -it mysql80 mysql -h${host} -u${username} -p${password} -e "${sql2}"
  28. docker exec -it mysql80 mysql -h${host} -u${username} -p${password} -e "${sql3}"
  29. docker exec -it mysql80 mysql -h${host} -u${username} -p${password} -e "${sql4}"
  30. #######################################################################################################################
  31. # 创建数据库
  32. #######################################################################################################################
  33. sql1="CREATE DATABASE ${db1} DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;"
  34. sql2="CREATE DATABASE ${db2} DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;"
  35. sql3="CREATE DATABASE ${db3} DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;"
  36. sql4="CREATE DATABASE ${db4} DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;"
  37. echo 'create database...'
  38. # mysql -h${host} -u${username} -p${password} << EOF
  39. # ${sql1}
  40. # ${sql2}
  41. # ${sql3}
  42. # ${sql4}
  43. # EOF
  44. docker exec -it mysql80 mysql -h${host} -u${username} -p${password} -e "${sql1}"
  45. docker exec -it mysql80 mysql -h${host} -u${username} -p${password} -e "${sql2}"
  46. docker exec -it mysql80 mysql -h${host} -u${username} -p${password} -e "${sql3}"
  47. docker exec -it mysql80 mysql -h${host} -u${username} -p${password} -e "${sql4}"
  48. #######################################################################################################################
  49. # 初始化数据库
  50. #######################################################################################################################
  51. cd ${sql_dir}
  52. db11='tnb_account_'${env_src}
  53. db12='tnb_content_'${env_src}
  54. db13='tnb_oss_'${env_src}
  55. db14='nacos_config'
  56. echo 'import database data...'
  57. # mysql -h${host} -u${username} -p${password} ${db11} < ${db1}.sql
  58. # mysql -h${host} -u${username} -p${password} ${db21} < ${db2}.sql
  59. # mysql -h${host} -u${username} -p${password} ${db31} < ${db3}.sql
  60. # mysql -h${host} -u${username} -p${password} ${db41} < ${db4}.sql
  61. docker exec -i mysql80 mysql -h${host} -u${username} -p${password} ${db1} < ${db11}.sql
  62. docker exec -i mysql80 mysql -h${host} -u${username} -p${password} ${db2} < ${db12}.sql
  63. docker exec -i mysql80 mysql -h${host} -u${username} -p${password} ${db3} < ${db13}.sql
  64. docker exec -i mysql80 mysql -h${host} -u${username} -p${password} ${db4} < ${db14}.sql
  65. #######################################################################################################################
  66. # 清空数据表
  67. #######################################################################################################################
  68. sql1a="select CONCAT('truncate table tnb_account_tdb.',TABLE_NAME,';') FROM information_schema.TABLES WHERE TABLE_SCHEMA='tnb_account_tdb'"
  69. sql2a="select CONCAT('truncate table tnb_content_tdb.',TABLE_NAME,';') FROM information_schema.TABLES WHERE TABLE_SCHEMA='tnb_content_tdb'"
  70. sql3a="select CONCAT('truncate table reghao_oss_tdb.',TABLE_NAME,';') FROM information_schema.TABLES WHERE TABLE_SCHEMA='reghao_oss_tdb'"
  71. echo 'truncate database tables...'
  72. result1a=$(docker exec -i mysql80 mysql -h${host} -u${username} -p${password} -s -e "${sql1a}")
  73. docker exec -i mysql80 mysql -h${host} -u${username} -p${password} -s -e "${result1a}"
  74. result2a=$(docker exec -i mysql80 mysql -h${host} -u${username} -p${password} -s -e "${sql2a}")
  75. docker exec -i mysql80 mysql -h${host} -u${username} -p${password} -s -e "${result2a}"
  76. result3a=$(docker exec -i mysql80 mysql -h${host} -u${username} -p${password} -s -e "${sql3a}")
  77. result3a1="SET FOREIGN_KEY_CHECKS = 0;"${result3a}"SET FOREIGN_KEY_CHECKS = 1;"
  78. docker exec -i mysql80 mysql -h${host} -u${username} -p${password} -s -e "${result3a1}"
  79. #######################################################################################################################
  80. # 还原表数据到数据库
  81. #######################################################################################################################
  82. echo 'import table data...'
  83. docker exec -i mysql80 mysql -h${host} -u${username} -p${password} ${db1} < account_user_registry.sql
  84. docker exec -i mysql80 mysql -h${host} -u${username} -p${password} ${db2} < file_store_config.sql
  85. docker exec -i mysql80 mysql -h${host} -u${username} -p${password} ${db2} < vod_post_category.sql
  86. docker exec -i mysql80 mysql -h${host} -u${username} -p${password} ${db3} < file_store_node.sql
  87. docker exec -i mysql80 mysql -h${host} -u${username} -p${password} ${db3} < file_store_volume.sql
  88. docker exec -i mysql80 mysql -h${host} -u${username} -p${password} ${db3} < file_upload_channel.sql
  89. docker exec -i mysql80 mysql -h${host} -u${username} -p${password} ${db3} < file_user_key.sql
  90. docker exec -i mysql80 mysql -h${host} -u${username} -p${password} ${db3} < file_user_node.sql
  91. docker exec -i mysql80 mysql -h${host} -u${username} -p${password} ${db3} < file_meta.sql
  92. docker exec -i mysql80 mysql -h${host} -u${username} -p${password} ${db4} < ${db14}.sql
  93. echo 'database init done...'