一、Liunx服务器下数据库定时备份

1、编写mysql在docker容器中备份的shell脚本:

#!/bin/bash#  2020-11-15#docker启动的mysql备份mysql_user="root"#数据库密码,注意自行修改mysql_password="Abc234!"mysql_host="192.168.1.43"mysql_port="3306"mysql_charset="utf8mb4"#备份文件存放的目录,自己创建位置mkdir -p /home/backup/mysql/backup_location=/home/backup/mysql/
expire_backup_delete="ON"#备份文件存放的天数expire_days=7backup_time=`date +%Y-%m-%d-%H-%M`backup_dir=$backup_location
#指定忽略的表#--ignore-table=tablename#docker exec -i mysql mysqldump -h$mysql_host -P$mysql_port -u$mysql_user -p$mysql_password -B zszy-omsdb | gzip> $backup_dir/mysql_backup_dbname_$backup_time.sql.gzecho -e "\033[32m ------------------- 开始全量备份数据库,请稍等。。。---------------- \033[0m"docker exec -i mysql mysqldump -h$mysql_host -P$mysql_port -u$mysql_user -p$mysql_password --all-databases | gzip> $backup_dir/mysqldb_backup_$backup_time.sql.gzecho -e "\033[32m -------------------成功备份数据至文件:$backup_dir/mysqldb_backup_$backup_time.sql.gz---------------- \033[0m"
if [ "$expire_backup_delete" == "ON" -a "$backup_location" != "" ];then `find $backup_location/ -type f -mtime +$expire_days | xargs rm -rf` echo -e "\033[32m ------------------- MySQL数据库已备份 $expire_days天前的备份已删除---------------- \033[0m" #greenfi

2、执行定时计划,每天凌晨1点执行备份

进入 vi /etc/crontab

加入如下的内容

# /home/shell/mysqlbackup.sh 为脚本的路径
00 01 * * * root /home/shell/mysql-backup.sh

修改后记得重启crond使改动生效

service crond restart

你也先测试一分钟执行一次的效果(注意这是测试每一分钟执行一次的,测试成功后要改成上面的每天凌晨执行一次)

*/1 * * * * root /home/shell/mysql-backup.sh

注意root前后只能一个空格

可以执行命令: tail -f /var/log/cron 查看效果定时任务的执行效果

3、数据库还原

1)、解压文件

gzip -d /home/backup/mysql/mysqldb_backup_2022-11-12-20-35.sql.gz

2)、拷贝文件到容器中

docker cp /home/backup/mysql/mysqldb_backup_2022-11-12-20-35.sql mysql:/var

3)、进入mysql容器中

docker exec -it mysql bin/bash

4)、执行如下命令后会要求输入mysql密码

mysql -uroot -p

5)、将拷贝到容器中的.sql文件用于还原mysql数据库

source /var/mysqldb_backup_2022-11-12-20-35.sql

二、Navicat数据库自动备份

1、新建配置文件:选中数据库备份---》右键---->新建备份-----》保存---》输入配置文件名称

此时,你在新建备份对话框中可以选择对象中的信息,去掉一些不想备份的表

2、点击自动运行----》新建批处理作业

3、在新建批处理作业页面:1备份---》2选择数据库----》3双击数据库配置文件---》点击保存后输入名称

4、1设置任务计划---》2触发器----》3新建

在新建触发器页面我们定时的是每天晚上23点备份

mysql系列14---mysql数据库还原与备份的更多相关文章

  1. shell编程系列25--shell操作数据库实战之备份MySQL数据,并通过FTP将其传输到远端主机

    shell编程系列25--shell操作数据库实战之备份MySQL数据,并通过FTP将其传输到远端主机 备份mysql中的库或者表 mysqldump 常用参数详解: -u 用户名 -p 密码 -h ...

  2. MySQL 多实例数据库还原脚本-备份集与端口对应

    版本:5.5.14 OS: ConetOS 6.3 1.创建recover.sh [root@yoon  export]# vi  recover.sh #!/bin/bash bakdir=/exp ...

  3. MySQL 系列(四)主从复制、备份恢复方案生产环境实战

    第一篇:MySQL 系列(一) 生产标准线上环境安装配置案例及棘手问题解决 第二篇:MySQL 系列(二) 你不知道的数据库操作 第三篇:MySQL 系列(三)你不知道的 视图.触发器.存储过程.函数 ...

  4. MySQL系列:走进数据库,相关概念你都明白吗?

    数据库,一个我们常常提到的名词,但是你有没有想过,它到底是什么意思呢,而我们常说的 MySQL.Oracle 等又到底指什么呢? 数据库 数据库(DataBase),简称 DB,是数据库是存储数据的集 ...

  5. oracle数据库还原以及备份 包括快速备份(并发压缩)

    expdp jhpt/XXXX directory=databackup dumpfile=dpfile_201512091300_%U.dmp filesize=5G parallel=8 comp ...

  6. Mysql系列五:数据库分库分表中间件mycat的安装和mycat配置详解

    一.mycat的安装 环境准备:准备一台虚拟机192.168.152.128 1. 下载mycat cd /softwarewget http:-linux.tar.gz 2. 解压mycat tar ...

  7. Mysql系列四:数据库分库分表基础理论

    一.数据处理分类 1. 海量数据处理,按照使用场景主要分为两种类型: 联机事务处理(OLTP) 面向交易的处理系统,其基本特征是原始数据可以立即传送到计算机中心进行处理,并在很短的时间内给出处理结果. ...

  8. Mysql系列二:Mysql 开发标准规范

    原文链接:http://www.cnblogs.com/liulei-LL/p/7729983.html 一.表设计 1. 库名.表名.字段名使用小写字母,“_”分割. 2. 库名.表名.字段名不超过 ...

  9. MySQL系列(二)--MySQL存储引擎

    影响数据库性能的因素: 1.硬件环境:CPU.内存.存盘IO.网卡流量等 2.存储引擎的选择 3.数据库参数配置(影响最大) 4.数据库结构设计和SQL语句 MySQL采用插件式存储引擎,可以自行选择 ...

  10. MySQL系列:MySQL的基本使用

    数据库的基本操作 在MySQL数据库中,对于一个MySQL示例,是可以包含多个数据库的. 在连接MySQL后,我们可以通过 show databases; 来进行查看有那么数据库.这里已经存在一些库了 ...

随机推荐

  1. 朋友们,就在今天,JDK 21,它终于带着重磅新特性正式发布了!

    你好呀,我是歪歪. 朋友们,好消息,好消息,重磅好消息. 从今年年初就一直在喊的具有革命性.未来性.开创新纪元的 JDK 21 按照官方的时间计划表,今天终于是要正式 GA 了: https://op ...

  2. PPT 求职应聘:如何利用时间轴去展示

    顺序逻辑的梳理 线条 竖直排列 图形结合

  3. Kubernetes(K8S) 介绍

    Master Api Server 统一入口,以 Restful 方式,交给 etcd 存储 Scheduler 节点调试,选择 Node 节点,做应用部署 Controller Manager 处理 ...

  4. WPF 自定义可拖动标题栏

    要注意,拖拽的地方,需要加背景色,否则 DrageMove 将无效 MainWindows.xaml <Window x:Class="Report.MainWindow" ...

  5. 用Python自动清理系统垃圾,再也不用360安全卫士了

    用Python自动清理系统垃圾,再也不用360安全卫士了 在Windows在安装和使用过程中都会产生相当多的垃圾文件,包括临时文件(如:.tmp.._mp)日志文件(.log).临时帮助文件(.gid ...

  6. JSP | 指令详解以及实例

    原作者为 RioTian@cnblogs, 本作品采用 CC 4.0 BY 进行许可,转载请注明出处. 本篇学习自:C语言中文网,部分内容转载仅供学习使用. 前文 JSP 中有一个关键的知识点:指令; ...

  7. Spring自带的Objects等工具类(减少繁琐代码)

    断言: AssertUtils assert 关键字在 JDK1.4 中引入,可通过 JVM 参数-enableassertions开启 SpringBoot 中提供了 Assert 断言工具类,通常 ...

  8. SpringCloud学习 系列十、服务熔断与降级(1-简介)

    系列导航 SpringCloud学习 系列一. 前言-为什么要学习微服务 SpringCloud学习 系列二. 简介 SpringCloud学习 系列三. 创建一个没有使用springCloud的服务 ...

  9. qsort函数使用方法总结(详细全面+代码)

    目录 qsort函数原型 compar参数 int 数组排序 结构体排序 字符串指针数组排序 字符串二维数组排序 整型二维数组(力扣题目) qsort函数原型 void qsort( void *ba ...

  10. Vue中生成二维码 组件库qrcode使用

    qrcode网址: https://www.npmjs.com/package/qrcode 安装代码如下: npm install qrcodeqrcode文档中生成二维码有很多环境下的用法.我们这 ...