广告
返回顶部
首页 > 资讯 > 数据库 >mysql数据库定时分库备份(本地+异地)
  • 894
分享到

mysql数据库定时分库备份(本地+异地)

2024-04-02 19:04:59 894人浏览 独家记忆
摘要

简介-邱月涛公司新项目上线,今天建立全网备份,现在这记录的是Mysql部分备份方式:全备+binlog备份地点:本地+异地备份时间:每日0点,切割binlog日志 1,环境介绍: [root@jm1j-no

简介-邱月涛
公司新项目上线,今天建立全网备份,现在这记录的是Mysql部分
备份方式:全备+binlog
备份地点:本地+异地
备份时间:每日0点,切割binlog日志

1,环境介绍:

[root@jm1j-node1 scripts]# cat /etc/redhat-release 
Centos release 6.8 (Final)
[root@jm1j-node1 scripts]# mysql -V
mysql  Ver 14.14 Distrib 5.6.35, for linux-glibc2.5 (x86_64) using  EditLine wrapper

2,规范脚本存放目录

 mkdir -p /server/scripts

3,编写脚本内容如下

#!/bin/bash
#---------------------------------------------------------
# $Name:         mysqlbackup.sh
# $Version:      v1.0
# $Author:       qiuyuetao
# $organization: https://blog.51cto.com/qiuyt
# $Create Date:  2017-12-13
# $Description:  Mysql backup script
#---------------------------------------------------------

#source /etc/init.d/functions
DAY=`date +%Y-%m-%d\-%H-%M`
BACK_DIR="/data/backup/mysql/dump"
DBUSER="root"   #数据用户
DBPASSWD="***数据库密码"  
BIN_PATH="/application/mysql/bin" #全局变量,可以使用which获取
LOG="/var/log/mysqlback.log" #备份日志
CKLOG="/var/log/bkmd5-"$DAY".log" #md5加密日志,后期发送邮件

## Close all tables and refresh log ####
"$BIN_PATH"/mysql -u "$DBUSER" -p"$DBPASSWD" -e "flush logs"

#"$BIN_PATH"/mysql -u "$DBUSER" -p"$DBPASSWD" -e "flush tables with read lock"

echo "mysqldump start `date +%F\ %H\:%M\:%S`" >> "$LOG"

## Each backup database to the target location ####
for i in `"$BIN_PATH"/mysql -u "$DBUSER" -p"$DBPASSWD" -e "show databases" |grep -vE "Database|infORMation_schema|performance_schema"`
  do
        if [ ! -d "$BACK_DIR"/"$i" ]; then
                mkdir -p  "$BACK_DIR"/"$i"
           fi
"$BIN_PATH"/mysqldump -u "$DBUSER" -p"$DBPASSWD" --default-character-set=utf8  --events --master-data=2 --lock-all-tables -f --log-error="$LOG" -B "$i"|gzip > "$BACK_DIR"/"$i"/"$DAY".sql.gz
md5sum "$BACK_DIR"/"$i"/"$(date +%F --date='0 days aGo')"-*.sql.gz  >>$CKLOG
   done

echo "mysqldump stop `date +%F\ %H\:%M\:%S`" >> "$LOG"
echo "" >>"$LOG"

## Delete old 10day backup files 保留最近10天的数据####
for RM in `"$BIN_PATH"/mysql -u "$DBUSER" -p"$DBPASSWD" -e "show databases" |grep -vE "Database|information_schema|performance_schema"`
   do

rm -rf "$BACK_DIR"/"$RM"/$(date +%F --date='10 days ago')*.sql.gz
    done

echo 生产数据库备份完整性MD5初始值 |mail -s 备份校验 -a  "$CKLOG"  qiuyt@*****.com  ##自己的邮箱

4,添加执行权限

[root@jm1j-node1 scripts]# chmod +x mysqlbackup.sh `

5,在命令行手动测试

查看备份结果,
mysql数据库定时分库备份(本地+异地)

#如果没有发送邮件,请检查服务是否安装,启动,25端口是否启用等等,然后手动发送邮件测试
6,配置邮箱
1)查看是否安装mailx

[root@jm1j-node1 scripts]# rpm -qa|grep mailx
mailx-12.4-8.el6_6.x86_64

2)修改mail配置

[root@yilonghc-m01 ~]# tail /etc/mail.rc   ##t添加如下内容
set bsdcompat
set from=outlokk@163.com
set smtp=smtp.163.com
set smtp-auth-user=*****@163.com  #自己的邮箱
set smtp-auth-passWord=***** ##授权码
set smtp-auth=login

6,定时备份 (正常可以加入crontab定时任务,每天0点执行)

mysql数据库定时分库备份(本地+异地)
上面没有找到,下面命令安装

yum install -y vixie-cron

添加定时任务

crontab -e
#mysqlbackup by qyt at 2017-12-13
00 00 * * * /bin/sh  /server/scripts/mysqlbackup.sh >/dev/null 2>&1

##异地备份,有多重方式,为了减少服务器压力,我使用rsync 客户端拉取方式

您可能感兴趣的文档:

--结束END--

本文标题: mysql数据库定时分库备份(本地+异地)

本文链接: https://www.lsjlt.com/news/45543.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • mysql数据库定时分库备份(本地+异地)
    简介-邱月涛公司新项目上线,今天建立全网备份,现在这记录的是mysql部分备份方式:全备+binlog备份地点:本地+异地备份时间:每日0点,切割binlog日志 1,环境介绍: [root@jm1j-no...
    99+
    2022-10-18
  • Oracle数据库怎么定时异地备份
    这篇文章主要讲解了“Oracle数据库怎么定时异地备份”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Oracle数据库怎么定时异地备份”吧!1)设置defe...
    99+
    2022-10-18
  • Mysql数据库定时备份脚本分享
    BackUpMysql.sh脚本 #!/bin/bash PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin export PATH...
    99+
    2022-05-31
    MySQL 定时备份 MySQL 定时备份脚本
  • MySQL数据库定时备份脚本
    建议建立备份数据库的用户,本文使用root用户进行备份。 脚本内容如下: vim mysql_back.sh #!/bin/bash #指定连接数据库信息(用户名、密码、连接地址、端口、安装目录)DB...
    99+
    2023-08-31
    数据库 mysql java
  • powershell备份代码和数据库到本地和异地
    开启powershell执行权限Set-ExecutionPolicy RemoteSigned#用途:用于备份wiki代码和数据 #时间:2017-2-15 # $local_backup_dir="C...
    99+
    2022-10-18
  • mysql数据库binlog日志的异地备份
        MySQL数据库的二进制日志binlog记录了对数据库的全量DDL和DML操作,对数据库的point to point灾难恢复起着无法替代的关键作用。因此,基...
    99+
    2022-10-18
  • 定时备份MySQL数据库
    MySQL 提供了 mysqldump 命令来实现导出数据库,命令用法如下: mysqldump -u root -p[password] [database_name] > [backup].sql...
    99+
    2023-09-28
    数据库 mysql linux
  • MySQL定时全库备份数据库
    目录一、MySQL数据备份1.1、 mysqldump命令备份数据1.2、 mysqldump常用操作示例1.3、 还原mysql备份内容二、 编写脚本维护备份的数据库文件2.1、 ...
    99+
    2022-11-12
  • MySQL自动备份的脚本及异地定时FTP
    这篇文章主要介绍“MySQL自动备份的脚本及异地定时FTP”,在日常操作中,相信很多人在MySQL自动备份的脚本及异地定时FTP问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”...
    99+
    2022-10-18
  • 定时任务备份mysql数据库,同时备份多个数据库
    编写备份数据库的shell脚本 创建脚本 mkdir -p /root/mysql_dump/data cd /root/mysql_dump vim mysql_back.sh 脚本内容如下 #!/bin/sh # File: ...
    99+
    2018-09-25
    定时任务备份mysql数据库,同时备份多个数据库
  • MySQL定时备份数据库(全库备份)的实现
    目录一、MySQL数据备份 1.1、 mysqldump命令备份数据 1.2、 mysqldump常用操作示例 1.3、 还原mysql备份内容 二、 编写脚本维护备份的数据库文件 ...
    99+
    2022-11-12
  • 阿里云备份本地数据库吗?
    阿里云备份本地数据库吗?这是一个经常被问到的问题。答案是肯定的,阿里云提供了多种方式来备份本地数据库。本文将详细介绍阿里云备份本地数据库的步骤和方法,帮助您更好地管理和保护本地数据库。 阿里云备份本地数据库主要有两种方式:一是使用阿里云的...
    99+
    2023-10-31
    阿里 备份 数据库
  • mssql数据库怎么进行异地备份
    这篇文章主要讲解了“mssql数据库怎么进行异地备份”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“mssql数据库怎么进行异地备份”吧!运行sql语句dec...
    99+
    2022-10-18
  • PHP与数据库异地备份的集成
    随着互联网的发展,越来越多的企业和个人开始使用PHP来开发网站和应用程序。而作为后端语言,PHP离不开数据库的支持。我们都知道,数据是企业中最重要的资产之一,因此,对数据的备份和保护显得尤为重要。如果你使用数据库来存储和管理数据,那么备份是...
    99+
    2023-05-15
    数据库 PHP 异地备份
  • mysql数据库怎么定时备份
    这篇文章主要讲解了“mysql数据库怎么定时备份”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“mysql数据库怎么定时备份”吧!操作步骤:1、将脚本放到任意...
    99+
    2022-10-18
  • 云服务器数据库备份到本地
    云服务器数据库备份到本地通常是将数据备份到云服务器的本地磁盘或者网络磁盘上。备份的方式取决于云服务器的不同配置。 对于使用集群模式的云服务器,通常会将多个物理服务器组成一个虚拟服务器集群,每个服务器可以包含多个应用程序或数据。这些应用程序...
    99+
    2023-10-26
    备份 服务器 数据库
  • Mysql数据库实现数据定时备份
    为了防止数据丢失,在进行软件交付时通常会要求对数据库进行定期备份。 测试使用mysqldump进行数据库备份。 mysqldump -h 192.168.248.138 -uroot -proot d...
    99+
    2023-09-02
    数据库 mysql sql 定时备份 crontab
  • 定时导出mysql本地数据替换远程数据库数据脚本分享
    需求在每天的5点将192.168.3.5上ser_a库中的tb_a表导入到192.168.3.6上的ser_b库中,表名还叫tb_a服务端脚本/usr/shell_clubs/auto_sql/serve...
    99+
    2022-06-04
    数据 脚本 数据库
  • ORACLE_数据库全备份+归档异地恢复
    全备份: #!/bin/bash  export ORACLE_BASE=/u01/app/oracle export ORACLE_HOME=/u01/app/oracle/produc...
    99+
    2022-10-18
  • mysqldump使用rsync异地全量备份数据库
    Mysql 做了本机,同机房全量备份后,想同时做一份异地备份,考虑异地机房的网络不稳定性,使用 rsync 来同步备份的文件; 同机房异机备份,内网速度快可以使用scp,或者mysqldump备份脚本放在非mysql机器上; 服务器环境:...
    99+
    2016-12-11
    mysqldump使用rsync异地全量备份数据库
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作