exec_tnb_init.sh 5.6 KB

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