当前位置:   article > 正文

mysql数据库备份学习笔记

mysql数据库备份学习笔记

数据库备份

方法1 物理备份:xtrabackup

方法2 逻辑备份 mysqldump

参考备份与恢复的方法:

【MySql】Mysql之备份与恢复_mysql数据库备份与还原-CSDN博客

可以借鉴的物理备份:

思路是 先做一次全量备份,然后每天做一次增量备份,

在恢复的时候把所有的增量合并加入到全量中之后进行恢复。

特别注意的地方:

1  备份工具的xtrabackup的版本要和mysql的一直

2 最好不要用8.0.2x版本,有问题,用8.0.3x以上

3 在恢复前先停用mysql,再清空mysql的data文件夹

4 在mysql的data文件恢复之后必须要对data文件夹授权限

chown -R mysql.mysql /data/mysql/*

mysqldump 定时进行备份脚本示例:

功能:实现在备份目录下生成全库备份的zip文件

  1. #!/bin/sh
  2. mysql_bin_home="/usr/bin"
  3. mysql_user=data_user
  4. mysql_pass=111
  5. mysql_home=/home/mysql
  6. base_path=$mysql_home/mysqlbackup
  7. #保留天数
  8. save_day=1
  9. # #当前时间
  10. current_date=`date +%Y%m%d`
  11. #备份路径
  12. data_path=$base_path/$current_date
  13. # 过期的时间
  14. expire_date=`date -d "$current_date - $save_days day" '+%Y%m%d'`
  15. echo "`date +%Y-%m-%d_%H:%M:%S` 开始删除过期文件,请稍后..." >> $base_path/logs/execute_`date +%Y%m%d`.log
  16. for target_str in `ls $base_path | grep ".zip"`
  17. do
  18. if [ ${target_str:0:8} -lt $expire_date ];then
  19. rm -rf $base_path/$target_str
  20. fi
  21. done
  22. echo "`date +%Y-%m-%d_%H:%M:%S` 删除过期文件成功" >> $base_path/logs/execute_`date +%Y%m%d`.log
  23. if [ ! -d $data_path ];then
  24. mkdir -p $data_path
  25. echo "`date +%Y-%m-%d_%H:%M:%S` 创建数据存放目录${data_path}成功!" >> $base_path/logs/execute_`date +%Y%m%d`.log
  26. fi
  27. echo "`date +%Y-%m-%d_%H:%M:%S` 开始备份所有数据库" >> $base_path/logs/execute_`date +%Y%m%d`.log
  28. $mysql_bin_home/mysqldump --user=$mysql_user --password=$mysql_pass --host=10.0.204.194 --port=13306 --all-databases > $data_path/all_$current_date.sql
  29. # #压缩
  30. echo "`date +%Y-%m-%d_%H:%M:%S` 开始对备份文件进行压缩,请稍后..."
  31. cd $base_path
  32. zip -r $current_date.zip $data_path
  33. echo "`date +%Y-%m-%d_%H:%M:%S` 备份文件压缩成功!" >> $base_path/logs/execute_`date +%Y%m%d`.log
  34. rm -rf $data_path

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小蓝xlanll/article/detail/240088
推荐阅读
相关标签
  

闽ICP备14008679号