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

news/2024/10/23 20:28:13/

总结: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" ]; thenmkdir -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.ppmy.cn/news/245846.html

相关文章

Probit模型、Logit模型、IV-Probit模型、IV-Probit模型

概述 Y β 1 X 1 β 2 X 2 ϵ i Y\beta_1X_1\beta_2X_2\epsilon_i Yβ1​X1​β2​X2​ϵi​ 边际效应:就是系数,即 β 1 \beta_1 β1​ 、 β 2 \beta_2 β2​ 解释:如,在控制其他变量(条件)不变的情况…

我们投出去的简历为什么已读不回?来看面试官如何筛选简历、挑选求职者?

目录 前言: 应届生 1、看学历 2、看实习经历 3、看专业 职场人士 面试官喜欢问什么问题 总结 前言: 金三银四,是求职者蠢蠢欲动的季节,亦是企业摩拳擦掌的季节。 因为作为企业的一名金牌面试官,我收到的内推…

Thread 类基本用法详解

Thread 类基本用法详解 Thread类的作用线程创建继承 Thread, 重写 run实现 Runnable, 重写 run继承 Thread, 重写 run, 使用匿名内部类实现 Runnable, 重写 run, 使用匿名内部类使用 lambda 表达式(最推荐) 线程中断1.使用标志位来控制线程是否要停止2.使用Thread自带的标志位来…

Linux 查看当前目录下各个文件夹包括隐藏文件夹的大小,并从大到小排序返回结果

查看当前目录下各个文件夹包括隐藏文件夹的大小,并从大到小排序返回结果,只需输入 du -h --max-depth1 | sort -hr结果: 49G . 27G ./Nutstore Files 11G ./anaconda3 5.0G ./src 2.4G ./.cache 1.2G ./.nutstore 1.2G ./.local 1019M ./.c…

阿里云ECS磁盘占满但找不到大文件

问题描述 登录实例,执行如下命令,查看Linux实例文件系统的使用率,发现/dev/xvdb1磁盘占用约27G,挂载目录为/。 df -h 切换到/目录,执行如下命令,发现占用空间为2.4G,即df和du命令查看的结果不一…

解决trueNas虚拟机win10运行一段时间卡死CPU100%的问题

1.设置zfs的最大内存使用内存,给你的虚拟机留出内存,如32G 就设置为27g即可愉快运行虚拟机,也可以设置更少的空间,但是你nas的性能就不行.按需设置. 设置方法: #sysctl -a vfs.zfs.arc_max16777216000 (我这个是设置的16G) 2.由于虚拟机网卡bug,也会必现这个假死问题. 修…

基于docker搭建单机ambari+hdp环境

1、执行脚本 官方脚本下载链接:官方脚本下载链接 本人上传资源链接: 链接:https://pan.baidu.com/s/1Il-lwKkL8OQa5TWy0Gj6UQ 提取码:ms21 解压文件并执行脚本(这一步时间会比较长,需要联网下载镜像&…

KITTI激光雷达点云解析与图像反投影

介绍 KITTI作为广为人知的自动驾驶数据集,很多创业公司喜欢拿来做算法排名。 官网下载比较慢,这里参考文末博客给出百度云下载(27G) 链接:https://pan.baidu.com/s/1-4WchJlcZ2guwcfbHqrdFw 提取码:grys 解…