mysql数据备份及恢复详细操作
一、数据库数据备份
1、全备
BakDir=/backup/full #创建全备目录
LogFile=/backup/full/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 -phongjun123 --all-databases --lock-all-tables --routines --triggers --events --master-data=2 --flush-logs >$DumpFile #备份
tar zcvf $GZDumpFile $DumpFile #打包
rm $DumpFile
Last=`date +"%Y年%m月%d日 %H:%M:%S"`
echo 开始:$Begin 结束:$Last $GZDumpFile succ >> $LogFile 定时任务:每周日凌晨三点打包
#全备
0 3 * * 0 /bin/bash /server/scripts/backfull.sh
2、增备
BakDir=/backup/binlog/ #创建增备目录
BinDir=/application/mysql/data
LogFile=/backup/binlog/bak.log
BinFile=/application/mysql/data/mysql-bin.index
mysqladmin -uroot -phongjun123 flush-logs #备份数据
Counter=`wc -l $BinFile|awk '{print $1}'`
NextNum=0
for file in `cat $BinFile`
do
base=`basename $file`
NextNum=`expr $NextNum + 1`
if [ $NextNum -eq $Counter ]
then
echo $base skip! >> $LogFile
else
dest=$BakDir/$base
if (test -e $dest)
then
echo $base exist! >> $LogFile
else
cp -a $BinDir/$base $BakDir/
echo $base copying >> $LogFile
fi
fi
done
echo `date +"%Y年%m月%d日 %H:%M:%S"` $Next Bakup succ~ >> $LogFile 定时任务:每天晚上凌晨备份一次
#增备
0 1 * * * /bin/bash /server/scripts/backup.sh
二、mysql数据库数据恢复
2.1 登录数据库
mysql -uroot -phongjun123
2.2 查看当前的position号
show master status;
2.3 增备及全备

三、例如恢复到九月一号的当天
3.1 思路
上周全备+本周增备
3.2 全备导入数据库
登录数据库
mysql -uroot -phongjun123
mysql> source /tmp/20180827.sql
3.3增备导入
3.3.1思路一
利用增备,备份该天的数据,利用position号码进行截取。以BEGIN开始备,到COMMIT结束,备份的数据才是有效的。
例子:
例:mysql> show binlog events in 'mysql-bin.000043';

3.4查看二进制日志的方法
方法一
mysql -uroot -phongjun123 mysql-bin.000017 |more
方法二:

方法三:


3.5根据BEGING到COMMIT恢复数据
例子:
8月28号的第一个GEGING号和9月1号的最后一个COMMIT号
注:截取position都是以BEGING至COMMIT结束,备份数据才有用。
cd /backup/binlog
mysqlbinlog -uroot -phongjun123 --start-position=120 --stop-position=318 mysql-bin.000018 > /tmp/zhj.sql
将所有二进制文件写在一个文件里执行 cd /data/backup/binlog
mysqlbinlog -uroot -phongjun123 mysql-bin.000036 > /tmp/inc.sql
mysqlbinlog -uroot -phongjun123 mysql-bin.000037 >> /tmp/inc.sql
mysqlbinlog -uroot -phongjun123 mysql-bin.000038 >> /tmp/inc.sql
mysqlbinlog -uroot -phongjun123 mysql-bin.000039 >> /tmp/inc.sql
mysqlbinlog -uroot -phongjun123 mysql-bin.000040 >> /tmp/inc.sql
3.6数据恢复
mysql -uroot -phongjun123 mysql> source /tmp/inc.sql
温馨提示:本文由自己记录,仅作参考,出了问题概不负责。。。。。
复数据
mysql数据备份及恢复详细操作的更多相关文章
- MySQL数据备份和恢复
1.数据备份 mysqldump -uroot -p databasename > file.sql 2.数据还原 mysql -u root -p databasename < file ...
- mysql数据备份及恢复
备份工具 mysqldump mysqldump是mysql和mariadb上最好的备份工具之一,免费开源. mysqldump 首先查询每个数据库和每个表的结构与数据,然后把查出的所有内容导出到文本 ...
- mysql 数据库备份,恢复。。。。
mysql 数据备份,恢复,恢复没写,这里只写了备份... 先暂作记录吧! 备份:表结构和数据完全分开,默认有一个文件会记录所有表的结构,然后表中数据的备份 如果超过分卷的大小则会分成多个文件,不然则 ...
- MySQL数据库的数据备份和恢复(导入和导出)命令操作语法【转】
不管是Oracle数据库还是SQL Server数据库,每个数据库都有自己的一套数据备份和恢复的方法,MySQL数据库也不例外.MySQL数据库备份和恢复用到了两个命令,分别是“mysqldump”和 ...
- MySQL数据备份之mysqldump使用(转)
mysqldump常用于MySQL数据库逻辑备份. 1.各种用法说明 A. 最简单的用法: mysqldump -uroot -pPassword [database name] > [dump ...
- MySQL的备份和恢复-mysqldump
MySQL的备份和恢复-mysqldump 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.为什么需要备份 1>.做灾难恢复 天有不测风云嘛,如果你的服务器被黑客攻击了(比 ...
- innobackupex不停库的数据备份并恢复到别的服务器上【转】
1.innobackupex原理: 备份原理 1).首先会开启一个后台检测进程,实时检测myql redo的变化,一旦发现redo中有新日志写入,立即将日志记入后台日志文件xtrabackup_log ...
- SQL学习笔记六之MySQL数据备份和pymysql模块
mysql六:数据备份.pymysql模块 阅读目录 一 IDE工具介绍 二 MySQL数据备份 三 pymysql模块 一 IDE工具介绍 生产环境还是推荐使用mysql命令行,但为了方便我们测 ...
- MySQL数据备份与还原(mysqldump)
一 mysqldump指令实现数据备份.mysql指令实现数据还原 经常有朋友问我,DBA到底是做什么的,百科上说:数据库管理员(Database Administrator,简称DBA),是从事管理 ...
随机推荐
- 使用 antd 的 form 组件来自定义提交的数据格式
最近使用antd UI 的表单提交数据,数据里面有的是数组,有的是对象.提交的时候还要去校验参数,让人非常头疼.在我仔细看完文档之后,发现 antd 的 form 组件做的非常不错,这些需求通通不是问 ...
- Linux系统的高级网络配置(bond、team、网桥)
1.bond接口 Red Hat Enterprise Linux 允许管理员使用 bonding 内核模块和称为通道绑定接口的特殊网络接口将多个网络接口绑定 到一个通道.根据选择的绑定模式 , 通道 ...
- 🏆【Alibaba工具型技术系列】「EasyExcel技术专题」摒除OOM!让你的Excel操作变得更加优雅和安全
前提概要 针对于后端开发者而言的,作为报表的导入和导出是一个很基础且有很棘手的问题!之前常用的工具和方案大概有这么几种: JXL(Java Excel API 工具服务),此种只支持xls的文件格式, ...
- jq的slideToggle效果
slideToggle() 方法通过使用滑动效果(高度变化)来切换元素的可见状态. 如果被选元素是可见的,则隐藏这些元素,如果被选元素是隐藏的,则显示这些元素. 例子:一个简单的下拉菜单效果----& ...
- shp平滑处理
在做图像数据处理时,经常会有栅格数据转矢量数据的操作,转换后的矢量文件会存在锯齿状边缘,不太美观,因此常常需要对矢量(shp)文件做平滑处理. 1 利用arcgis实现shp的平滑和简化 ArcToo ...
- Mysql常用sql语句(10)- is null 空值查询
测试必备的Mysql常用sql语句系列 https://www.cnblogs.com/poloyy/category/1683347.html 前言 is null是一个关键字来的,用于判断字段的值 ...
- Git 系列教程(1)- Git 简介
前言 因为工作中目前要大量使用 Git,虽然之前已经会用了,但没有系统的总结过,现在来重新总结 概念篇会直接搬网上的教程,比如:菜鸟.廖雪峰.老张.中文版Git,就不再花时间自己总结过概念了 Git ...
- log4J日志输出修改
1. log4j.rootLogger=DEBUG,INFO, console, log, error ###Console ### log4j.appender.console = org.apac ...
- systemctl添加自定义系统服务
[Service] Type=forking ExecStart=绝对路径 ExecStop=绝对路径 ExecReload=绝对路径 以上最精简版,文件/usr/lib/systemd/system ...
- 安卓学习记录(五)——体温表APP.2
一.项目结构 二.源码 1.数据层 db+dao+bean package com.example.tem.db; import android.content.Context; import and ...

