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文件

bash 复制代码
#!/bin/sh
mysql_bin_home="/usr/bin"
mysql_user=data_user
mysql_pass=111
mysql_home=/home/mysql
base_path=$mysql_home/mysqlbackup
#保留天数
save_day=1
# #当前时间
current_date=`date +%Y%m%d`
#备份路径
data_path=$base_path/$current_date

# 过期的时间
expire_date=`date -d "$current_date - $save_days day" '+%Y%m%d'`

echo "`date +%Y-%m-%d_%H:%M:%S` 开始删除过期文件,请稍后..." >> $base_path/logs/execute_`date +%Y%m%d`.log

for target_str in `ls $base_path | grep  ".zip"`
do
  if [ ${target_str:0:8}  -lt $expire_date ];then
     rm -rf $base_path/$target_str
  fi 
done

echo "`date +%Y-%m-%d_%H:%M:%S` 删除过期文件成功" >>  $base_path/logs/execute_`date +%Y%m%d`.log

if [ ! -d $data_path ];then
   mkdir -p $data_path
   echo "`date +%Y-%m-%d_%H:%M:%S` 创建数据存放目录${data_path}成功!" >> $base_path/logs/execute_`date +%Y%m%d`.log

fi
echo "`date +%Y-%m-%d_%H:%M:%S` 开始备份所有数据库" >>  $base_path/logs/execute_`date +%Y%m%d`.log


$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
# #压缩
echo "`date +%Y-%m-%d_%H:%M:%S` 开始对备份文件进行压缩,请稍后..."
cd $base_path
zip -r $current_date.zip $data_path

echo "`date +%Y-%m-%d_%H:%M:%S` 备份文件压缩成功!"  >> $base_path/logs/execute_`date +%Y%m%d`.log

rm -rf $data_path
相关推荐
夜泉_ly1 小时前
MySQL -安装与初识
数据库·mysql
qq_529835352 小时前
对计算机中缓存的理解和使用Redis作为缓存
数据库·redis·缓存
月光水岸New5 小时前
Ubuntu 中建的mysql数据库使用Navicat for MySQL连接不上
数据库·mysql·ubuntu
狄加山6755 小时前
数据库基础1
数据库
我爱松子鱼5 小时前
mysql之规则优化器RBO
数据库·mysql
chengooooooo5 小时前
苍穹外卖day8 地址上传 用户下单 订单支付
java·服务器·数据库
Rverdoser6 小时前
【SQL】多表查询案例
数据库·sql
Galeoto6 小时前
how to export a table in sqlite, and import into another
数据库·sqlite
人间打气筒(Ada)7 小时前
MySQL主从架构
服务器·数据库·mysql
leegong231117 小时前
学习PostgreSQL专家认证
数据库·学习·postgresql