总结:Linux系统上面定时备份mysql指定数据库的解决方案

news2024/11/24 3:24:22

总结:Linux系统上面定时备份mysql指定数据库的解决方案

  • 一·Mysql数据库本身就自带备份数据库命令
    • 1.mysql本身自带备份数据库为一个sql文件的命令,只需要在操作系统的终端里面执行就好了
  • 二·Linux和Unix操作系统都自带一个定时任务执行器:crontab
    • 1.一些基本的crontab命令示例:
    • 2.如何用crontab -e命令添加一个定时任务:
  • 三·将crontab定时任务与mysql的备份命令结合起来,形成最终解决方案
    • 1.先将mysql的备份命令写成脚本文件形式(mysql-backup.sh)
    • 2.给脚本文件授权(可执行权限)
    • 3.使用 crontab 命令设置定时任务:
  • 四·常见异常:MySQL备份脚本写入Crontab计划性任务之后生成的备份文件大小为0解决方法

一·Mysql数据库本身就自带备份数据库命令

1.mysql本身自带备份数据库为一个sql文件的命令,只需要在操作系统的终端里面执行就好了

命令格式1:
mysqldump -h [IP或域名] -P [端口号] -u [登录账号] -p[登录密码] --databases [数据库名称] > [最终生成sql文件的存储路径]/xxx.sql

示例:
mysqldump  -h localhost -P 3306 -u root -p123456 --databases test > /Users/ideal/Desktop/test.sql



命令格式2:不从配置文件读取对应参数值,必须命令行给出值
mysqldump --no-defaults  -h [IP或域名] -P [端口号] -u [登录账号] -p[登录密码] --databases [数据库名称] > [最终生成sql文件的存储路径]/xxx.sql

示例:
mysqldump --no-defaults  -h localhost -P 3306 -u root -p123456 --databases test > /Users/ideal/Desktop/test.sql

注意:-p后面必须紧跟密码,之间不能有空格,不然会有问题

二·Linux和Unix操作系统都自带一个定时任务执行器:crontab

在Linux系统中,有一个非常强大的定时任务执行器,它叫做crontab。 crontab可以让用户在固定的时间、日期或者周期性地执行某些任务或命令。 crontab的使用非常简单,用户只需要编辑自己的crontab文件,就可以添加、修改或删除自己的定时任务。

1.一些基本的crontab命令示例:

crontab -l :列出当前用户的所有定时任务。
crontab -e :编辑当前用户的定时任务。
crontab -r :删除当前用户的所有定时任务。
crontab -u user -l :列出指定用户的所有定时任务。
crontab -u user -e :编辑指定用户的定时任务。
crontab -u user -r :删除指定用户的所有定时任务。

2.如何用crontab -e命令添加一个定时任务:

(1)使用crontab -e命令编辑或创建一个用户的计划任务列表。

crontab -e

(2)在计划任务列表中,每一行就代表一个计划任务。语法格式如下

* * * * * command arg1 arg2
| | | | |
| | | | ----- Day of the Week (0 - 7) (Sunday is both 0 and 7)
| | | ------- Month (1 - 12)
| | --------- Day of the Month (1 - 31)
| ----------- Hour (0 - 23)
------------- Minute (0 - 59)

注意:这计划任务列表里面的command命令,其实就是Linux操作系统里面的命令。但有些命令是需要依赖系统环境变量的,而定时任务执行器里面却并不一定能够访问系统环境变量。所以建议使用命令的绝对路径。

例如:

0 2 * * * /path/to/your/script.sh

(3)添加完之后,可以使用crontab -l命令查看添加结果
在这里插入图片描述

三·将crontab定时任务与mysql的备份命令结合起来,形成最终解决方案

1.先将mysql的备份命令写成脚本文件形式(mysql-backup.sh)

(1)mysql-backup.sh脚本文件内容如下所示:自定义信息需要自己完善

#!/bin/bash

# MySQL Server 登录信息
MYUSER="数据库用户名"
MYPASS="数据库用户密码"
MYHOST="数据库主机地址"
MYPORT="数据库端口号,默认为3306"
MYDB="需要备份的数据库名称"

# 备份相关配置信息
BAKDIR="/var/db-backup/$(date +'%Y-%m-%d')"  # 备份保存目录
BAKFILE="$BAKDIR/db.$(date +'%Y-%m-%d-%H%M%S').sql.gz"  # 备份文件名
KEEPDAYS=7  # 保留天数

# 创建备份目录
if [ ! -d "$BAKDIR" ]; then
    mkdir -p "$BAKDIR"
fi

# 备份数据库至压缩文件
mysqldump -h "$MYHOST" -P "$MYPORT" -u "$MYUSER" -p"$MYPASS" --databases "$MYDB" | gzip > "$BAKFILE"

# 清理旧备份文件,只保留指定天数内的备份,超过时间的就会被清除
find "$BAKDIR" -name '*.sql.gz' -type f -mtime +"$KEEPDAYS" -delete

2.给脚本文件授权(可执行权限)

chmod 777 mysql-backup.sh

3.使用 crontab 命令设置定时任务:

0 2 * * * /usr/local/bin/mysql-backup.sh

四·常见异常:MySQL备份脚本写入Crontab计划性任务之后生成的备份文件大小为0解决方法

添加链接描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/617068.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

浅结反静态调试2

文章目录 SMC 自解码什么是SMC?原理示例动调 SMC 自解码 什么是SMC? 简而言之,就是程序中的部分代码在运行之前被加密成一段数据,不可反编译,通过程序运行后执行相关的解码功能,对加密的代码数据进行动态…

Linux :: vim 编辑器的初次体验:三种 vim 常用模式 及 使用:打开编辑、退出保存关闭vim

前言:本篇是 Linux 基本操作篇章的内容! 笔者使用的环境是基于腾讯云服务器:CentOS 7.6 64bit。 学习集: C 入门到入土!!!学习合集Linux 从命令到网络再到内核!学习合集 目录索引&am…

配置Linux操作系统主机名及网络设置

上一篇我们讲到了如何克隆虚拟机,三台虚拟机Spark01、Spark02和Spark03默认为动态IP地址,若后续重启系统后IP地址便会发生改变,非常不利于实际开发,且虚拟机Spark02和Spark03是通过克隆虚拟机Spark01创建的,这会导致这…

软件测试银行项目到底“香”到哪里?

为什么做金融类软件测试? 做金融类软件测试的原因有以下几个: 保障客户资产安全:金融类软件通常涉及大量的客户财产和敏感信息,因此软件测试可以帮助发现潜在的漏洞和风险,从而确保客户的资产和信息得到充分的保护。 …

超详细IDEA:MavenWeb项目配置Tomcat

文章目录 附IDEA创建MavenWeb项目教程附Windows 10安装配置Tomcat教程一、插件配置Tomcat方式二、IDEA部署本地Tomcat方式 附IDEA创建MavenWeb项目教程 超详细IDEA创建MavenWeb项目教程 附Windows 10安装配置Tomcat教程 超详细Windows 10安装配置Tomcat教程 一、插件配置To…

LeetCode: 238. 除自身以外数组的乘积

目录 1. 解法一:时:O(N) ,空:O(N) 2. 解法二:(解法一的空间优化) 时:O(N),空:O(1) 3. 解法三 原题链接:238. 除自身以外数组的乘积 - 力扣(Leetcode&#x…

java SSM 教务管理系统myeclipse开发mysql数据库springMVC模式java编程计算机网页设计

一、源码特点 java SSM 教务管理系统是一套完善的web设计系统(系统采用SSM框架进行设计开发,springspringMVCmybatis),对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/…

网工内推 | 云方向招运维,云计算HCIE认证优先,最高22k

01 东华软件股份公司 招聘岗位:运维系统工程师(云平台) 职责描述: 1、 负责华为云平台Huawei CloudStack ,FusionStorage分布式存储的维护,优化和故障处理; 2、 负责云平台上VDC、ECS、DDM、R…

1 Linux网络虚拟化

Linux网络虚拟化 文章目录 Linux网络虚拟化前言一、network namespace1.1 初识network namespace1.2 配置network namespace 二、veth pair三、容器与host veth pair的关系3.1 方法一3.2 方法二3.2 方法三 四、 Linux bridge4.1 Linux bridge初体验4.2 把IP让给Linux bridge4.3…

RestCloud-新一代(智能)全域数据集成平台

新一代智能全域数据集成平台 一、介绍1.1 企业级数据集成架构面临的痛点1.2 RestCloud说明1.3 重构企业数据融合架构,解决各种复杂、即时、高合规的数据集成需求1.4 (智能)全域数据集成平台1.5 300数据及应用连接器轻松汇聚全域数据 二、产品简介2.1 功能特性2.2 产…

Pytorch入门(五)使用ResNet-18网络训练常规状态下的CIFAR10数据集

本文采用ResNet-18PytorchCIFAR-10实现深度学习的训练。 文章目录 一、CIFAR-10 数据集介绍二、ResNet 神经网络的介绍1.ResNet 的网络模型2.本文用到的ResNet网络结构3.残差块的的解释4.ResNet神经网络的优缺点 三、ResNet-18 代码实现四、ResNet-18 训练 CIFAR-10数据集五、…

编写 OPC UA Compile的模型设计文件

OPC Foundation 开源了一个模型编译工具-UA ModelCompiler.它接受下面两种信息模型格式: NodeSet2.xmlModelDesign.xml 看来ModelDesign 是专门为UA ModelCompiler设计的,采用了分层结构描述,它比NodeSet2 可读性更好一点。适合使用普通文本…

【MySql】数据库的备份与恢复

文章目录 前言备份mysqldump还原source注意事项查看连接情况 前言 对与数据库的备份与恢复该怎么去做呢? Linux下对于文件或目录的备份,直接拷贝一份,留着备用,对于备份,比较简单的做法会就是直接打包拷贝一下&#x…

数据结构常用知识点整理(java版)(--修改中--)

目录 一、逻辑结构 1、栈 2、队列 顺序队列 循环队列 链式队列 (相当于只能尾进头出的单链表) 双端队列 (Deque) 3、数组 4、链表 5、树 二叉树 满二叉树 完全二叉树 二叉查找树: (ADT Tree) 红黑树: B树&#xf…

docker内无法通过域名访问外网问题解决方案一

一、问题描述 docker中有的时候需要从容器内向外网环境进行访问,这个时候我边出现了一个诡异的问题,从容器的宿主机直接通过curl命令使用域名可以正常的访问并返回正确的解决,但是从容器中向外调用外网环境的这个域名的时候,curl命…

ChatGPT 使用 拓展资料:吴恩达大咖 Building Systems with the ChatGPT API 内容审查

ChatGPT 使用 拓展资料:吴恩达大咖 Building Systems with the ChatGPT API 内容审查 https://learn.deeplearning.ai/chatgpt-building-system?_gl=114hjbho_gaMTEwNzkwNDAyMC4xNjgyNjUxMzg4_ga_PZF1GBS1R1*MTY4NTk2NTg1Ni4xNS4wLjE2ODU5NjU4NTYuNjAuMC4w 如果你正在建立一个…

糖酵解反应动力学方程的微分方程建模

糖酵解反应动力学方程的微分方程建模 题目 对于下面的糖酵解反应: 设其满足如下动力学方程: { d d t Glucose v 1 − v 2 d d t Gluc 6 P v 2 − v 3 d d t Fruc 6 P v 3 − v 4 v 5 d d t Fruc 1 , 6 P 2 v 4 − v 5 − v 6 d d t ATP −…

electron+vue3全家桶+vite项目搭建【19】集成微信登录

文章目录 引入实现思路实现步骤 引入 electron中实际就是嵌入了一个浏览器内核,所以在electron中集成微信登录实际和web端的集成方式是一样的。 demo项目地址 实现思路 这里参考这篇文章的 electron之微信扫码登陆(不使用轮询) 实现思路&a…

【数据结构】常见排序算法——常见排序介绍、选择排序(直接选择排序、堆排序)交换排序(冒泡排序)

文章目录 1.常见排序2.选择排序2.1直接选择排序2.2堆排序 3.交换排序3.1冒泡排序 1.常见排序 2.选择排序 选择排序是一种简单但不高效的排序算法,其基本思想是从待排序的数据中选择最小(或最大)的元素放到已排序的数据末尾。具体操作步骤如下…

可能是 Python 中最火的第三方开源测试框架 pytest

一、介绍 本篇文章是《聊聊 Python 的单元测试框架》的第三篇,前两篇分别介绍了标准库 unittest 和第三方单元测试框架 nose。作为本系列的最后一篇,压轴出场的是Python 世界中最火的第三方单元测试框架:pytest。 pytest 项目地址&#xff1…