mysql数据库定时备份

生产环境中使用mysql数据库,我们如何进行数据备份?

这里我们采用mysqldump来进行数据备份,mysqldump是mysql用于转存储数据库的实用程序。它主要产生一个SQL脚本,其中包含从头重新创建数据库所必需的命令CREATE TABLE INSERT等。

创建目录

mkdir /root/mysql
cd /root/mysql

编写备份脚本

vi  startBackup.sh

数据导出脚本如下:

#!/bin/bash
# 直接配置帐号密码就把下面注释放开
#db_user='root'
#db_password=`cat /root/mysql/mysql_password`
#mysql安装地址
export PATH=/usr/local/mysql/bin:$PATH
#数据库名称
db_name='***db'
#备份地址根据情况指定
backup_dir='/root/mysql/data/'
current_time=$(date +'%Y-%m-%d_%H%M%S')
filepath=$backup_dir$current_time'.sql.gz'
#此处没有使用 $db_password $db_user, 已经写入到配置文件中
echo '开始导出数据库...'
#读取数据库连接配置,导出数据并压缩
mysqldump --defaults-extra-file=/root/mysql/backup.cnf $db_name | gzip > $filepath
echo '导出成功,文件名为: '$filepath

上面backup.cnf配置内容如下:

[mysqldump]
max_allowed_packet=1000M
host=localhost
user=帐号
password='*********'
[mysql]
host=localhost
user=账号
password='***********'

编写移除历史备份数据脚本,我们这里保留7天内的备份。(可以根据具体情况调整)

vi removeHistory.sh
#/bin/bash
# 删除7天前的备份
find /root/mysql/data -type f -mtime +7 | xargs rm -f

定时直行备份脚本

给脚本赋权限

chmod +x startBackup.sh
chmod +x removeHistory.sh

centos命令行中输入 crontab -e编写定时执行脚本,每天凌晨1点进行备份并清除历史数据

0 1 * * * /*****/startBackup.sh
0 1 * * * /*****/removeHistory.sh

配置完成后每天就会定时执行备份,备份信息如下:

备份文件

数据恢复

数据压缩备份后,我们可以通过下面的命令来进行数据恢复

#!/bin/bash

if [ -z $1 ] || [ ! -f $1 ]
then
    echo "请输入sql压缩文件(*.sql.gz)"
    exit 1
fi

db_name='***db'
base_dir='/root/mysql/data/'
gz_sql_file=`basename $1`

file_ext=${gz_sql_file##*.}
if [ $file_ext != 'gz' ]
then
    echo '文件格式不正确,请输入 .sql.gz 文件'
    exit 1
fi

sql_file=${gz_sql_file%.*}
echo '解压文件中...'
gzip -dc $base_dir$gz_sql_file > $base_dir$sql_file
echo '解压完成.'
echo '开始导入数据库...'

mysql --defaults-extra-file=/root/mysql/backup.cnf $db_name < $base_dir$sql_file

if [ -f $base_dir$sql_file ]
then
    echo '删除临时文件.'
    rm -f $base_dir$sql_file
fi
echo '导入完成.'
展开阅读全文

页面更新:2024-03-20

标签:备份   数据库   历史数据   帐号   文件格式   脚本   命令   地址   文件   数据

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号

Top