一、Navicat数据备份
1.打开Navicat连接需要备份的数据库服务器
点击具体的数据库后点击 ‘自动运行’
2.查看已创建自动运行任务的列表
3.创建任务
点击 二中的 + 创建新的自动运行 后展示该页面
先点击备份按钮
再点击需要备份数据库服务器中的数据库
选中可用的工作 添加工作
被添加的任务展示在已选择的工作
5.设置定时备份
点击小时钟设置定时任务 完成后点击确认
该示例代表每10分钟执行一次
6.查看及删除作业
打开需要操作的数据库服务器连接
选中需要备份的数据库
点击自动运行后
展示作业列表
选中需要操作的列表可对作业进行操作
7.查看定时任务备份数据文件
打开需要操作的数据库服务器连接
选中需要备份的数据库
点击备份按钮
可展示出该数据库的备份数据列表
二、linux mysql定时备份定时删除、docker内部mysql定时备份定时删除
注:些 linux 服务器版本中没有自带 crontab 组件,这个时候需要安装组件
#安装组件
yum install -y vixie-cron
1.docker内部mysql定时备份定时删除
1.1新建脚本 vi databak.sh
#!/bin/bash
#设置mysql的登录用户名和密码
mysql_user="root"
mysql_password="123456"
mysql_host="localhost"
mysql_port="3306"
#需要备份的数据库
database="product_catalog"
#mysql容器名称
docker_name=gds-mysql
#备份文件存放地址
backup_location=/databak
#是否删除过期数据
expire_backup_delete="ON"
expire_days=7
backup_time=`date +%Y%m%d%H%M`
backup_dir=$backup_location
#备份容器中的数据库
docker exec -i ${docker_name} /usr/bin/mysqldump -h mysql_host -P mysql_port -u mysql_user -p mysql_password -B database > backup_dir/ backup_time.sql
#删除过期数据
if [ "expire_backup_delete" == "ON" -a "backup_location" != "" ];then
`find $backup_location -name "*.sql" -type f -mtime +7 -exec rm -rf {} \; > /dev/null 2>&1`
fi
1.2.添加执行权限
chmod +x databak.sh
1.3.添加定时任务(测试每分钟备份1次)
crontab -e
*/1 * * * * cd /databak/ && ./databak.sh >> /databak/error.log 2>&1
1.4.启动定时任务
service crond start
1.5.测试成功后修改定时任务(每天凌晨1:30分执行一次)
crontab -e
#录入需要执行的任务
#每天凌晨1:30分执行一次
30 1 * * * /databak/databak.sh
1.6.重启定时任务
service crond restart
1.7.恢复数据
#在mysql命令行执行sql语句操作导入
mysql -uusername -ppassword databasename < backupfile.sql
2.mysql定时备份定时删除
2.1新建脚本
vi databak.sh
echo "===备份开始==="
mysqldump -uroot -p123456 performance_schema | gzip > /databak/performance_schema_$(date +%Y%m%d_%H%M%S).sql.gz
mysqldump -uroot -p123456 product_catalog | gzip > /databak/product_catalog_$(date +%Y%m%d_%H%M%S).sql.gz
#删除10天前备份的数据
find /databak -mtime +7 -name "*.gz" -exec rm -rf {} \;
echo "===备份成功==="
2.2.添加执行权限
chmod +x databak.sh
2.3.添加定时任务(测试每分钟备份1次)
crontab -e
*/1 * * * * cd /databak/ && ./databak.sh >> /databak/error.log 2>&1
2.4.启动定时任务
service crond start
2.5.测试成功后修改定时任务(每天凌晨1:30分执行一次)
crontab -e
#录入需要执行的任务
#每天凌晨1:30分执行一次
30 1 * * * /databak/databak.sh
2.6.重启定时任务
service crond restart
2.7.恢复数据
在mysql命令行执行sql语句操作导入
mysql -uusername -ppassword databasename < backupfile.sql