失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > Navicat数据备份 linux mysql定时备份定时删除 docker内部mysql定时备份定时删除

Navicat数据备份 linux mysql定时备份定时删除 docker内部mysql定时备份定时删除

时间:2022-08-30 12:46:09

相关推荐

Navicat数据备份 linux mysql定时备份定时删除 docker内部mysql定时备份定时删除

一、Navicat数据备份

1.打开Navicat连接需要备份的数据库服务器

点击具体的数据库后点击 ‘自动运行’

2.查看已创建自动运行任务的列表

3.创建任务

点击 二中的 + 创建新的自动运行 后展示该页面

先点击备份按钮

再点击需要备份数据库服务器中的数据库

选中可用的工作 添加工作

被添加的任务展示在已选择的工作

4.保存任务

点击保存 并设置任务名称后点击确认

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=7backup_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.shecho "===备份开始==="mysqldump -uroot -p123456 performance_schema | gzip > /databak/performance_schema_$(date +%Y%m%d_%H%M%S).sql.gzmysqldump -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

如果觉得《Navicat数据备份 linux mysql定时备份定时删除 docker内部mysql定时备份定时删除》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。