精华内容
下载资源
问答
  • Linux Mysql自动备份
    千次阅读
    2021-12-30 17:45:50

    1.配置自动备份环境

    1.1 创建文件见放脚本文件和备份数据

    # 创建/data/backup/mysql
    
    mkdir -p /data/backup/mysql
    
    cd /data/backup
    
    # 创建mysql_backup.sh的脚本并且填充数据
    
    vi mysql_backup.sh
    
    # vi mysql_backup.sh进行编辑和修改

    1.2 创建 备份数据的语句 mysql_backup.sh 用于备份数据

    #!/bin/bash
    
    # 需要的话,自己改这里哦
    
    #db_user='root'
    
    #db_password=`cat /data/www/mysql_password`
    
    db_name='baizhan'
    
    backup_dir='/data/backup/mysql/'
    
    current_time=$(date +'%Y-%m-%d_%H%M%S')
    
    filepath=$backup_dir$current_time'.sql.gz'
    
    #此处没有使用 $db_password $db_user, 已经写入到配置文件中
    
    echo '开始导出数据库...'
    
    mysqldump --defaults-extra-file=/data/backup/my_mysql.cnf  $db_name | gzip > $filepath
    
    echo '导出成功,文件名为: '$filepath

    1.3 配置my_mysql.cnf的数据

    vi my_mysql.cnf
    [mysqldump]
    
    max_allowed_packet= 400M
    
    host=127.0.0.1
    
    user=root
    
    password='12346' # 设置为自己的密码例如我的为123456
    
    [mysql]
    
    host=127.0.0.1
    
    user=root
    
    password='123465'

    1.4 脚本增加权限

    chmod +x ./mysql_backup.sh

    1.5 TEST 测试是否可以导出成功

    sh ./mysql_backup.sh
    
    # 查看一下结果
    
    ll ./mysql

    1. 配置关于自动恢复数据的脚本

    2.1 创建脚本命令

    vi mysql_restore.sh

    2.2 放入脚本命令

    #!/bin/bash
    if [ -z $1 ] || [ ! -f $1 ]
    then
        echo "请输入sql压缩文件(*.sql.gz)"
        exit 1
    fi
    db_name='fs'#需要导入的的数据名
    base_dir='/data/backup/mysql/'
    gz_sql_file=`basename $1`
    
    file_ext=${gz_sql_file##*.}
    if [ $file_ext != 'gz' ]
    then
        echo '文件格式不正确,请输入 .sql.gz 文件'
        exit 1
    fi
    sql_file=${gz_sql_file%.*}
    echo '解压文件中...'
    gzip -dc $base_dir$gz_sql_file > $base_dir$sql_file
    echo '解压完成.'
    echo '开始导入数据库...'
    mysql --defaults-extra-file=/data/backup/my_mysql.cnf $db_name < $base_dir$sql_file
    if [ -f $base_dir$sql_file ]
    then
        echo '删除临时文件.'
        rm -f $base_dir$sql_file
    fi
    echo '导入完成.'

    2.3 赋予权限并且执行

    # 权限赋予
    
    chmod +x ./mysql_restore.sh
    
    # 导入测试
    
    sh ./mysql_restore.sh  ./mysql/2021-12-28_111334.sql.gz

    1. 创建计划任务

    3.1 关于crontab

    crontab命令常见于Unix和Linux的操作系统之中,用于设置周期性被执行的指令。该命令从标准输入设备读取指令,并将其存放于“crontab”文件中,以供之后读取和执行。通常,crontab储存的指令被守护进程激活。crond常常在后台运行,每一分钟检查是否有预定的作业需要执行。这类作业一般称为cron jobs。

    3.2 关于备份的时间

    例子

    30 21 * * * /usr/local/etc/rc.d/lighttpd restart       #每晚的21:30重启apache。

    45 4 1,10,22 * * /usr/local/etc/rc.d/lighttpd restart  #每月1、10、22日的4 : 45重启apache。

    10 1 * * 6,0 /usr/local/etc/rc.d/lighttpd restart      #每周六、周日的1 : 10重启apache

    0,30 18-23 * * * /usr/local/etc/rc.d/lighttpd restart  #每天18 : 00至23 : 00之间每隔30分钟重启apache。0 23 * * 6 /usr/local/etc/rc.d/lighttpd restart        #每星期六的11 : 00 pm重启apache。

    * */1 * * * /usr/local/etc/rc.d/lighttpd restart       #每一小时重启apache

    * 23-7/1 * * * /usr/local/etc/rc.d/lighttpd restart    #晚上11点到早上7点之间,每隔一小时重启apache

    0 11 4 * mon-wed /usr/local/etc/rc.d/lighttpd restart  #每月的4号与每周一到周三的11点重启apache

    0 4 1 jan * /usr/local/etc/rc.d/lighttpd restart       #一月一号的4点重启apache

    */30 * * * * /usr/sbin/ntpdate 210.72.145.44           #每半小时同步一下时间

    详解看此处 crontab详解 - 老董 - 博客园

    3.3 具体使用

    crontab -e
    
    #粘贴下面的内容, 大家根据自己的需要更改就可以了
    
    0 1,12 * * * /data/backup/mysql_backup.sh # 每天凌晨1点,中午12点备份一次数据
    
    
    
    #大家可以先使用下面这条做为测试哦,1分钟跑一次,我们只需要查看 ll /data/backup/mysql 这个文件夹就好了
    
    */1 * * * * /data/backup/mysql_backup.sh
    1.  自动备份文件自动删除

    4.1 创建删除脚本文件 remove_backup.sh

    vi remove_backup.sh# 复制下面的脚本内容
    
    #/bin/bash
    
     # 删除30天前的备份
    
     find /data/backup/mysql -type f -mtime +30 | xargs rm -f
    
     #可执行权限
    
     chmod +x ./remove_backup.sh

    4.2 配置自动删除

    crontab -e #下面这个就是脚本内容哦,添加这一句
    
    0 1 * * * /data/backup/remove_backup.sh # 每天凌晨1点,自动删除30天前的备份
    1. windos自动下载linux的数据

    5.1 安装WinSCP

    WinSCP :: Official Site :: Download windscp下载

    5.2 安装WinSCP 步骤

    https://jingyan.baidu.com/article/9f7e7ec0ccdb476f2815542c.html

    5.3 配置bat文件

    1.先在winscp 登录自己的linux的账号密码

    2.复制winscp生成好的批处理文件信息

    3.新建一个bat文件将第二步的文件内容复制进去

    @echo off
    "C:\Users\Administrator\AppData\Local\Programs\WinSCP\WinSCP.com" ^ # 安装的winscp
    
      /log="G:\log\WinSCP.log" /ini=nul ^ # 日志记录地方
      /command ^
        "open sftp://root:feisu@192.168.216.130/ -hostkey=""ssh-ed25519 255 p5R5ttEPqk/fNyNrEVfK3/CwNbX57WuYI6hzfz/C7jk=""" ^
        "option transfer binary" ^ #二进制传输
        "get /data/backup/mysql/*2021*.sql.gz G:\data_bak\V3\" ^ # 将linux指定位置传输到本地指定位置
        "exit"
    set WINSCP_RESULT=%ERRORLEVEL%
    if %WINSCP_RESULT% equ 0 (
      echo Success
    ) else (
      echo Error
    )
    exit /b %WINSCP_RESULT%

    5.4 配置任务计划自动进行运行bat进行下载

    任务计划程序(让计算机自动执行程序) - 平凡的神灯 - 博客园

    1. 注意事项

    6.1 出现了如图所示的问题

    出现这个问题需要自己将mysqldump加入到/usr/bin的软路径

    解决地址:解决备份数据库提示” mysqldump: command not found” 问题 | 老左笔记

    6.2 出现如下图所示问题

    出现如图的问题说明my_mysql.cnf 的配置文件内容不完成导致读取失败

    6.3 winscp bat的文件需要提前自动把文件创建好

    更多相关内容
  • ubuntu下设置mysql自动备份的例子,供大家学习参考
  • windows下mysql自动备份数据库并删除历史备份和生成日志文件脚本。windows下mysql自动备份数据库并删除历史备份和生成日志文件脚本。
  • mysql自动备份脚本bat

    2018-06-04 11:31:50
    数据库类型:mysql安装板5.7 该系统不支持空格所以用环境变量来支持路径 备份方法为系统任务启动方法,备份文件格式为sql,保存30的文件时间。无备份后压缩功能。 如有疑问或者不懂请联系QQ864592977
  • mysql自动备份脚本

    2018-01-26 17:32:44
    linux下定时自动备份mysql数据库,并保存备份文件与备份日志到指定路径下。
  • 增量备份,因为自用,数据库不大。 回头有了需求加上自检测,5天前的自动删除。 #!/usr/bin/env python #encoding=utf-8 #Mysql auto backup #Author: vane import os, sys, datetime reload(sys) sys....
  • mysql自动备份

    2018-12-04 09:28:36
    mysql自动备份代码,根据自己的需要改动一下,需要的可以自己试试
  • 1.备份MySQL到指定的目录。 2.支持压缩备份。无需安装压缩软件支持CAB压缩备份。或者安装RAR软件,支持RAR压缩备份。 3.支持备份日志。可以了解哪些数据库没有备份成功。 4.支持保留多少次备份。也就是删除多少次...
  • Linux下自动备份Mysql文件shell脚本。
  • 一个基于C#开发的生成mysql自动备份脚本的小工具源码,配置文件设置数据库连接信息、备份路径、mysql的bin目录后在运行目录自动生成bat脚本,结合windos的任务计划功能,可以实现定时的数据库备份功能。
  • linux mysql自动备份

    2018-12-13 16:51:24
    mysql自动备份shell脚本,下载放到root下载etc/crontab中加入定时启动命令
  • 脚本放在 /home/user/mysql_backup.sh crontab # crontab -l # m h dom mon dow command 28 16 * * * /home/user/mysql_backup.sh 脚本如下 代码如下: #!/bin/sh # mysql_backup.sh: backup mysql databases and ...
  • mysql自动备份工具

    2019-03-18 16:53:07
    mysql自动备份工具,可以设置自动备份时间,直接备份为.sql文件,界面简单易懂。
  • linux mysql自动备份工具,附带说明。简单实用。
  • rem ----数据库自动备份 by:qjh2008@163.com - 2016-09-14 rem makecab文件限制为2G,次版本需要安装winrar rem 如果没有mysql的设置环境变量,则需要先将dos指定到mysql的安装目录 rem cd /d E:\MYSql\mysql-...
  • MySQL自动备份专家,可以立即对一个和多个数据库快速性执行备份。免去传统操作方式的繁琐打开关闭窗口,输入BAK文件名的过程,轻巧、功能完备的数据库备份软件!一键备份可以立
  • 数据是无价的;数据的丢失,DBA的责任是不可推脱的,所以数据的备份是非常重要的;下面就是Mysql在Linux平台下的一个自动备份脚本
  • 当前资源只适合于windows 服务器上面自动备份和上传FTP服务器。按照注释修改相应的配置添加到windows的任务计划,就可以完成自动备份和上传。方便,轻便,简单。
  • Mysql自动备份

    2014-07-05 23:13:28
    数据库自动备份批处理脚本 包含了 自动导出三个数据库的脚本 还有自动复制Mysql的数据包 data 自动删除备份30天以前的备份文件
  • 主要介绍了CentOS7 下MySQL定时自动备份的实现方法,主要实现了数据库备份,清理过期备份文件功能,需要的朋友可以参考下
  • 多备份MySQL数据库自动备份工具(windows客户端)是深圳木浪科技开发的一款高效MySQL自动备份和恢复的工具。可以备份网站服务器和本地MySQL数据库,免费授权给大家使用。多备份MySQL数据库自动备份工具的特色1、全面...
  • 描述Linux系统部署Mysql自动备份操作详细步骤 描述Linux系统部署Mysql自动备份操作详细步骤 描述Linux系统部署Mysql自动备份操作详细步骤
  • Windows下实现MySQL自动备份的批处理,新建目录并复制压缩,结合windows计划任务方便实现每天的自动备份
  • 在Windows下自动备份MySQL数据库的批处理脚本。 主要功能: 1.备份MySQL到指定的目录。 2.支持压缩备份。无需安装压缩软件支持CAB压缩备份。或者安装RAR软件,支持RAR压缩备份。 3.支持备份日志。可以了解哪些数据库...
  • rem ----数据库自动备份 by:qjh2008@163.com - 2016-09-14 ---山东合力达--- rem 如果没有mysql的设置环境变量,则需要先将dos指定到mysql的安装目录 rem cd E:\程序安装包\MYSql\mysql-5.6.24-winx64.1432007928...
  • 1、本地备份编写自动备份脚本:vim /var/lib/mysql/autobak内容如下: 代码如下:cd /data/home/mysqlbakrq=` date +%Y%m%d `/usr/local/mysql/bin/mysqldump sqldb –flush-logs -uroot -p123456 –opt > 777city_$...
  • 网上有很多关于window下Mysql自动备份的方法,可是真的能用的也没有几个,有些说的还非常的复杂,难以操作。 我们都知道mssql本身就自带了计划任务可以用来自动备份,可是mysql咱们要怎么样自动有备份呢? 教大家一...
  • mysql自动备份工具免费

    热门讨论 2012-04-09 00:12:58
    mysql自动备份工具,可实现mysql每天自动备份功能,操作简单,而且是绝色版,免费的。
  • 主要介绍了linux系统自动导出mysql备份,并上传到指定ftp,还可以删除旧的备份文件,大家参考使用吧
  • NULL 博文链接:https://jeyke.iteye.com/blog/847285

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 134,949
精华内容 53,979
关键字:

mysql自动备份

mysql 订阅
友情链接: arm.rar