exec_tnb_backup.sh 1.6 KB

1234567891011121314151617181920212223242526272829303132333435
  1. #!/bin/bash
  2. ###############################################################################
  3. # 备份整个数据库结构和数据
  4. ###############################################################################
  5. base_dir='/home/reghao/data/bak/'
  6. dest_dir=${base_dir}/`date +'%Y%m%d'`
  7. mkdir -p ${dest_dir}
  8. cd ${dest_dir}
  9. host='127.0.0.1'
  10. username='test'
  11. password='Test_123456'
  12. db1='tnb_account_tdb'
  13. db2='tnb_content_tdb'
  14. db3='tnb_oss_tdb'
  15. db4='nacos_config'
  16. for((i=1; i<=4; i++));
  17. do
  18. db_name=$(eval echo \${db$i})
  19. echo "dump ${db_name} at "`date +'%Y-%m-%d %H:%M:%S'`
  20. # 导出整个数据库结构和数据
  21. # mysqldump -h${host} -u${username} -p${password} --lock-all-tables --flush-logs ${db_name} > ${db_name}.sql
  22. docker exec -i mysql80 mysqldump -h${host} -u${username} -p${password} --lock-all-tables --flush-logs --set-gtid-purged=OFF ${db_name} > ${db_name}.sql
  23. echo "${db_name} data dumped at "`date +'%Y-%m-%d %H:%M:%S'`
  24. done
  25. # 导出和还原单个表结构和数据
  26. # docker exec -i mysql80 mysqldump -h192.168.0.209 -utest -pTest_123456 --lock-all-tables --flush-logs --set-gtid-purged=off tnb_content_tdb vod_video_post > vod_video_post1.sql
  27. # docker exec -i mysql80 mysql -h192.168.0.209 -utest -pTest_123456 tnb_content_tdb < vod_video_post1.sql
  28. # 导出和还原单个数据库结构和数据
  29. # docker exec -i mysql80 mysqldump -h192.168.0.209 -utest -pTest_123456 --lock-all-tables --flush-logs --set-gtid-purged=OFF tnb_account_tdb > tnb_account_tdb.sql
  30. # docker exec -i mysql80 mysql -h192.168.0.209 -utest -pTest_123456 tnb_account_tdb > tnb_account_tdb.sql