- 浏览: 494550 次
- 性别:
- 来自: 广州
文章分类
- 全部博客 (502)
- Java (70)
- Linux (10)
- 数据库 (38)
- 网络 (10)
- WEB (13)
- JSP (4)
- 互联网 (71)
- JavaScript (30)
- Spring MVC (19)
- HTML (13)
- CSS (3)
- AngularJS (18)
- Redis (5)
- Bootstrap CSS (1)
- ZooKeeper (4)
- kafka (6)
- 服务器缓存 (4)
- Storm (1)
- MongoDB (9)
- Spring boot (16)
- log4j (2)
- maven (3)
- nginx (5)
- Tomcat (2)
- Eclipse (4)
- Swagger (2)
- Netty (5)
- Dubbo (1)
- Docker (7)
- Hadoop (12)
- OAuth (1)
- webSocket (4)
- 服务器性能 (7)
- Session共享 (1)
- tieye修改 (1)
- 工作 (1)
- 有用的语录 (0)
- https (2)
- common (5)
- 产品开发管理 (1)
- CDN 工作原理 (1)
- APNS、GCM (1)
- 架构图 (3)
- 功能实现分析 (1)
- JMX (1)
- 服务器相关操作命令 (1)
- img02 (0)
- 服务器环境搭建 (9)
- goodMenuBook (1)
- CEInstantPot (0)
- 有用数据 (1)
- 百度地图WEB API (2)
- 正则表达式 (1)
- 样式例子 (2)
- staticRecipePressureCooker.zip (1)
- jCanvas (1)
- 网站攻击方法原理 (1)
- 架构设计 (3)
- 物联网相关 (3)
- 研发管理 (7)
- 技术需求点 (1)
- 计划 (1)
- spring cloud (11)
- 服务器开发的一些实用工具和方法 (1)
- 每天学到的技术点 (4)
- Guava (1)
- ERP 技术注意要点 (2)
- 微信小程序 (1)
- FineRepor (1)
- 收藏夹 (1)
- temp (5)
- 服务架构 (4)
- 任职资格方案 (0)
- osno_test (1)
- jquery相关 (3)
- mybatis (4)
- ueditor (1)
- VueJS (7)
- python (10)
- Spring EL (1)
- shiro (1)
- 前端开发原理与使用 (7)
- YARN (1)
- Spark (1)
- Hbase (2)
- Pig (2)
- 机器学习 (30)
- matplotlib (1)
- OpenCV (17)
- Hystrix (1)
- 公司 (1)
- miniui (4)
- 前端功能实现 (3)
- 前端插件 (1)
- 钉钉开发 (2)
- Jenkins (1)
- elasticSearch使用 (2)
- 技术规范 (4)
- 技术实现原理 (0)
最新评论
MySQL备份恢复脚本
增量备份脚本
#!/bin/bash
#设置环境变量LANG为UTF-8
export LANG=en_US.UTF-8
#每天备份文件存放目录
BakDir=/home/mysql/backup/daily
#二进制日志存放目录
BinDir=/home/mysql
#存放这个备份操作的日志
LogFile=/home/mysql/backup/binlog.log
#二进制日志文件名记录
BinFile=/home/mysql/logindex.index
#洗掉所有日志,就是重新生成一个二进制log文件,这个是用于产生新的mysql-bin.00000*文件
mysqladmin -uroot -proot123 flush-logs
#wc -l filename:显示一个文件的行数,,awk工作流程是这样的:读入有'\n'换行符分割的一条记录,然后将记录按指定的域分隔符划分域,填充域,$0则表示所有域,$1表示第一个域,$n表示第n个域。默认域分隔符是"空白键" 或 "[tab]键",所以$1表示登录用户,$3表示登录用户ip,以此类推。
#Counter保存了logindex.index是的行数,每行代表一个mysql-bin.00000*文件,就是有多少个mysql-bin.00000*文件
Counter=`wc -l $BinFile |awk '{print $1}'`
NextNum=0
#这个for循环用于比对$Counter,$NextNum这两个值来确定文件是不是存在或最新的。
#cat $BinFile,一次显示整个文件,取出每个文件名
for file in `cat $BinFile`
do
#//basename $file,,返回文件的文件名,去掉路径部分
base=`basename $file`
#//basename用于截取mysql-bin.00000*文件名,去掉./mysql-bin.000005前面的./
#//NextNum+1
NextNum=`expr $NextNum + 1`
#//相当于if(NextNum==Counter)
if [ $NextNum -eq $Counter ]
then
echo $base skip! >> $LogFile
else
#//dest保存文件路径,如果备份目录中没有这个文件就从原文件目录中复制过去
dest=$BakDir/$base
#//#test -e用于检测目标文件是否存在,存在就写exist!到$LogFile去。
if(test -e $dest)
then
echo $base exist! >> $LogFile
else
cp $BinDir/$base $BakDir
echo $base copying >> $LogFile
fi
fi
done
echo `date +"%Y年%m月%d日 %H:%M:%S"` Bakup succ! >> $LogFile
全量备份
#!/bin/bash
export LANG=en_US.UTF-8
BakDir=/home/mysql/backup
LogFile=/home/mysql/backup/bak.log
#//得到年月日时间
Date=`date +%Y%m%d`
#//得到年月日时分秒
Begin=`date +"%Y年%m月%d日 %H:%M:%S"`
cd $BakDir
DumpFile=$Date.sql
GZDumpFile=$Date.sql.tgz
#备份好数据后
mysqldump -uroot -proot123 --all-databases --flush-logs --delete-master-logs --single-transaction > $DumpFile
tar -czvf $GZDumpFile $DumpFile
rm $DumpFile
#//得到文件个数
count=$(ls -l *.tgz |wc -l)
if [ $count -ge 5 ]
then
file=$(ls -l *.tgz |awk '{print $9}'|awk 'NR==1')
rm -f $file
fi
#只保留过去四周的数据库内容
Last=`date +"%Y年%m月%d日 %H:%M:%S"`
echo 开始:$Begin 结束:$Last $GZDumpFile succ >> $LogFile
cd $BakDir/daily
rm -f *
//
备份可以通过备份binlog,再在另一个服务器进行恢复的方式进行备份,定期进行入库变成备份库,binlog可以放以HDFS
https://blog.csdn.net/cuiyan1982/article/details/51112240(
Xtrabackup 简介及备份原理)
http://www.cnblogs.com/waynechou/p/xtrabackup_backup.html(XtraBackup 备份与恢复实例讲解)
https://blog.csdn.net/hi__study/article/details/53489672(
MySQL innodb引擎下根据.frm和.ibd文件恢复表结构和数据)
https://blog.csdn.net/liqfyiyi/article/details/72770458(XtraBackup原理解读)
https://blog.csdn.net/kadwf123/article/details/80793610(使用xtrabackup和binlog进行完全恢复)
http://www.cnblogs.com/xsuid/p/9426257.html?utm_source=debugrun&utm_medium=referral(Xtrabackup备份还原)
http://www.cnblogs.com/ziroro/p/9859114.html(xtrabackup+binlog 实现完全恢复)
xtrabackup备份时有记录biglog的位置信息
xtrabackup_binlog_pos_innodb 和 xtrabackup_binlog_info
增量备份脚本
#!/bin/bash
#设置环境变量LANG为UTF-8
export LANG=en_US.UTF-8
#每天备份文件存放目录
BakDir=/home/mysql/backup/daily
#二进制日志存放目录
BinDir=/home/mysql
#存放这个备份操作的日志
LogFile=/home/mysql/backup/binlog.log
#二进制日志文件名记录
BinFile=/home/mysql/logindex.index
#洗掉所有日志,就是重新生成一个二进制log文件,这个是用于产生新的mysql-bin.00000*文件
mysqladmin -uroot -proot123 flush-logs
#wc -l filename:显示一个文件的行数,,awk工作流程是这样的:读入有'\n'换行符分割的一条记录,然后将记录按指定的域分隔符划分域,填充域,$0则表示所有域,$1表示第一个域,$n表示第n个域。默认域分隔符是"空白键" 或 "[tab]键",所以$1表示登录用户,$3表示登录用户ip,以此类推。
#Counter保存了logindex.index是的行数,每行代表一个mysql-bin.00000*文件,就是有多少个mysql-bin.00000*文件
Counter=`wc -l $BinFile |awk '{print $1}'`
NextNum=0
#这个for循环用于比对$Counter,$NextNum这两个值来确定文件是不是存在或最新的。
#cat $BinFile,一次显示整个文件,取出每个文件名
for file in `cat $BinFile`
do
#//basename $file,,返回文件的文件名,去掉路径部分
base=`basename $file`
#//basename用于截取mysql-bin.00000*文件名,去掉./mysql-bin.000005前面的./
#//NextNum+1
NextNum=`expr $NextNum + 1`
#//相当于if(NextNum==Counter)
if [ $NextNum -eq $Counter ]
then
echo $base skip! >> $LogFile
else
#//dest保存文件路径,如果备份目录中没有这个文件就从原文件目录中复制过去
dest=$BakDir/$base
#//#test -e用于检测目标文件是否存在,存在就写exist!到$LogFile去。
if(test -e $dest)
then
echo $base exist! >> $LogFile
else
cp $BinDir/$base $BakDir
echo $base copying >> $LogFile
fi
fi
done
echo `date +"%Y年%m月%d日 %H:%M:%S"` Bakup succ! >> $LogFile
全量备份
#!/bin/bash
export LANG=en_US.UTF-8
BakDir=/home/mysql/backup
LogFile=/home/mysql/backup/bak.log
#//得到年月日时间
Date=`date +%Y%m%d`
#//得到年月日时分秒
Begin=`date +"%Y年%m月%d日 %H:%M:%S"`
cd $BakDir
DumpFile=$Date.sql
GZDumpFile=$Date.sql.tgz
#备份好数据后
mysqldump -uroot -proot123 --all-databases --flush-logs --delete-master-logs --single-transaction > $DumpFile
tar -czvf $GZDumpFile $DumpFile
rm $DumpFile
#//得到文件个数
count=$(ls -l *.tgz |wc -l)
if [ $count -ge 5 ]
then
file=$(ls -l *.tgz |awk '{print $9}'|awk 'NR==1')
rm -f $file
fi
#只保留过去四周的数据库内容
Last=`date +"%Y年%m月%d日 %H:%M:%S"`
echo 开始:$Begin 结束:$Last $GZDumpFile succ >> $LogFile
cd $BakDir/daily
rm -f *
//
备份可以通过备份binlog,再在另一个服务器进行恢复的方式进行备份,定期进行入库变成备份库,binlog可以放以HDFS
https://blog.csdn.net/cuiyan1982/article/details/51112240(
Xtrabackup 简介及备份原理)
http://www.cnblogs.com/waynechou/p/xtrabackup_backup.html(XtraBackup 备份与恢复实例讲解)
https://blog.csdn.net/hi__study/article/details/53489672(
MySQL innodb引擎下根据.frm和.ibd文件恢复表结构和数据)
https://blog.csdn.net/liqfyiyi/article/details/72770458(XtraBackup原理解读)
https://blog.csdn.net/kadwf123/article/details/80793610(使用xtrabackup和binlog进行完全恢复)
http://www.cnblogs.com/xsuid/p/9426257.html?utm_source=debugrun&utm_medium=referral(Xtrabackup备份还原)
http://www.cnblogs.com/ziroro/p/9859114.html(xtrabackup+binlog 实现完全恢复)
xtrabackup备份时有记录biglog的位置信息
xtrabackup_binlog_pos_innodb 和 xtrabackup_binlog_info
发表评论
-
SQL常用语句
2022-07-21 19:09 208delete from cacherefresh where ... -
ES数据同步方案
2022-06-24 10:57 2299//============================= ... -
SQL存储过程例子和有用的SQL
2022-02-19 09:20 197delete from cacherefresh where ... -
SQL优化对比与总结
2021-01-09 14:44 37619000000 b表 SELECT * from b w ... -
执行存储过程测试
2020-12-30 16:47 385--执行存储过程创建 if (exists (select * ... -
mysql提高insert into 插入速度的方法
2018-12-14 17:26 6108mysql提高insert into 插入 ... -
Mysql并发时经典常见的死锁原因及解决方法
2018-12-08 09:30 3059Mysql并发时经典常见的死锁原因及解决方法 MySQL有 ... -
数据库沉余实现方式
2018-12-04 17:30 1020数据库沉余实现方式 canal 原理相对比较简单: (1)c ... -
最终一致性的常用做法
2018-12-01 22:28 638最终一致性的常用做法 ... -
库存扣减和锁
2018-11-29 16:19 2库存扣减和锁 在对数据库的值进行修改时,如果在多线程情况下 ... -
Spring Boot中整合Sharding-JDBC
2018-11-26 18:03 3446Spring Boot中整合Sharding-JDBC ... -
MYSQL 主从、读写分离、分库分表、高可用、数据安全
2018-11-19 18:03 1733MYSQL 主从、读写分离、分库分表、高可用、数据安全 ... -
mybatis-generator 使用
2018-05-19 11:29 560http://www.cnblogs.com/Jason-Xi ... -
eclipse JPA Tools 使用
2018-05-14 17:11 775https://blog.csdn.net/guoxin91/ ... -
mybatis 通用查询实现
2018-03-26 10:04 1422package com.oceano.modity.entit ... -
存储过程 函数
2017-10-27 17:59 472存储过程 函数 存储过 ... -
分页查询例子
2017-10-19 10:22 776分页查询例子 Mybatis分页插件PageHelper的 ... -
数据库同步工具
2017-10-14 14:27 1338数据库同步工具 goden gate Oracle Go ... -
ETL工具
2017-09-01 15:14 756ETL工具 ETL,是英文 Extract-Transfor ... -
PowerDesigner 对比pdm文件内容变化工具
2017-08-06 14:24 701PowerDesigner 对比pdm文件内容变化工具
相关推荐
此文档 关于M有SQL 第三方开源工具xtrabackup ,文档包含内容: 1,innobackupex 下载安装指引。 2,innobackupex 全备份,增量备份脚本。...3,innobackupex 全恢复,增量恢复脚本。 4,备份脚本指引。
`mysql数据备份脚本` 提供了一种自动化的方式来确保数据库的定期备份,即使面临意外的数据丢失,也能通过备份轻松恢复。这里我们将深入探讨 MySQL 数据备份的重要性、备份方法以及如何创建一个 `bat` 脚本来实现自动...
以下是一些关于如何创建和使用MySQL自动备份shell脚本的详细说明: 首先,我们需要一个能够执行备份、压缩、清理旧备份并(可选地)将备份文件传输到远程位置或发送电子邮件通知的脚本。以下两个示例提供了不同选项...
本文将详细解析“mysql备份脚本.rar”压缩包中的内容,包括在Windows和Linux操作系统中如何利用脚本来进行MySQL数据库的备份。 1. **MySQL备份的重要性** 数据库备份是为了防止意外数据丢失,如硬件故障、软件错误...
恢复脚本则包含解压(如果备份是压缩的)、准备备份、停用MySQL服务、恢复数据和重启MySQL服务等步骤。 了解这些基本概念后,你可以查看压缩包内的`基于xtrabackup的MySQL数据库备份及还原Shell脚本`,这个脚本将...
完整的 mysql 备份还原指令脚本;轻松实现mysql备份和恢复;在sqL等环境下测试通过。绝对可用
"mysql自动实现备份脚本" 提供了一种高效的方法,通过编写Bash shell脚本来自动化这一过程。下面将详细介绍这个脚本的工作原理、重要性以及如何配置和使用。 1. **Bash脚本简介** Bash是Unix和Linux系统中的默认...
MySQL备份平台是数据库管理系统中至关重要的组成部分,它确保了数据的安全性和可恢复性。在本文中,我们将深入探讨如何搭建MySQL备份平台,以及利用Apache服务器和Xtrabackup工具来实现这一目标。 首先,MySQL备份...
根据给定的文件信息,我们可以总结出以下关于MySQL备份脚本的重要知识点: ### MySQL备份脚本概述 在IT行业中,数据安全是至关重要的,而数据备份则是保障数据安全的关键环节之一。MySQL作为广泛使用的数据库管理...
### MySQL增量备份Linux脚本详解 #### 一、概述 MySQL数据库是许多应用程序的重要组成部分,为了确保数据的安全性与完整性,定期进行数据备份至关重要。在众多备份策略中,增量备份因其高效性和灵活性而受到广泛...
MySQL备份脚本是数据库管理中不可或缺的一部分,它用于定期或按需保存数据库的状态,以便在数据丢失或系统故障时能够恢复。以下将详细介绍MySQL备份脚本的原理、常见方法以及如何编写和使用这些脚本。 MySQL数据库...
《Xtrabackup备份与恢复:Shell脚本详解》 ...总结,Xtrabackup结合Shell脚本提供了一套强大的MySQL备份恢复解决方案,能够应对各种复杂的业务场景。理解并熟练掌握这一工具,对于保障数据库的安全运行具有重要意义。
还原mysql脚本备份的sql文件。
本文将详细介绍如何利用shell脚本来创建MySQL的定时备份,并结合提供的"mysqlbackup.sh"脚本和"添加定时任务.txt"文件,帮助你实现这一功能。 首先,我们来看"mysqlbackup.sh"这个shell脚本。这个脚本通常包含以下...
"mysql 自动备份数据库脚本" 提供了一种自动化的方法,通过Windows的定时任务服务(taskschd.msc)来定期执行数据库的备份,避免了手动操作的繁琐和可能的人为错误。 MySQL的自动备份主要涉及以下几个核心知识点: ...
MySQL自动备份数据库脚本是IT运维中的重要环节,它能够定期保存数据库数据,防止数据丢失,确保业务连续性。在本场景中,我们有一个名为`auto_mysql_back.sh`的shell脚本,它用于自动化MySQL数据库的备份过程。下面...
mysql_backup.bat
接下来,我们来看 `restore.sh` 脚本,这是用来从备份恢复数据库的关键部分: 1. **导入 SQL 文件**:恢复过程通常涉及到读取 `backup.sh` 生成的 SQL 文件并执行它。这可以通过使用 `mysql` 命令行客户端完成,...
本篇将详细阐述如何使用Shell脚本来实现MySQL数据库的备份与恢复。 首先,让我们分析提供的两个脚本文件: 1. `datarestore.sh`:这个脚本通常用于执行数据库恢复操作。它可能包含了连接到MySQL服务器,选择要恢复...
MySQL数据库在日常运维中扮演着重要的角色,为了确保数据的安全性和可恢复性,定期进行备份是必不可少的。本文将详细讲解MySQL的增量备份与全量备份,并提供在Windows和Linux环境下执行备份的脚本。 全量备份是...