mysql数据库备份、恢复文档
说明:
为了加强线上数据库安全,避免研发人员误操作造成数据的丢失,制作本文档。一线运维人员可以参考!
一、数据备份:
专用数据库备份服务器,定时对数据库进行热备、冷备,即主从设置、mysqldump冷备、mysql-bin-log日志备份。
1.主从设置及主备切换:(请参考文档:mysql主从配置&&基于keepalived的主备切换 http://swht1278.blog.51cto.com/7138082/1716812)
2.数据库冷备:使用mysqldump进行冷备份
mysqldump -h 10.124.x.x -u user -p Passwd --all-databases > /opt/data/all_databases.sql
#mysqldump --host=x.x.x.x --port=Port --user=user --password Passwd --all-databases --events --routines --master-data=2 > dump.sql
3.bin-log日志备份:
1)开启binlog功能:
vim /etc/my.cnf
=================================
log_bin = /var/log/mysql/mysql-bin.log
expire_logs_days = 10
max_binlog_size = 100M
=================================
service mysql restart
2)binlog日志备份:
从数据库:停止slave状态:
mysql -h[从库IP] -u user -p
mysql>stop slave;
主数据库:tar czf mysql_M_binlog_$date.tar.gz /home/mysql/data/mysql-bin*
scp -P port mysql_M_binlog_$date.tar.gz user@[备份服务器]:/data/mysql/
3)利用mysqlbinlog工具进行binlog的备份工作
mysqlbinlog --read-from-remote-server --host=x.x.x.x --port=Port --user=user --password=$passwd --result-file=/backup/ --raw --stop-never mysql-bin.000001
备注:--read-from-remote-serve参数表明要连接至该server请求其二进制日志;
--raw参数表明输出二进制格式的文件而非文本格式;
--stop-never参数使备份命令保持连接进行持续备份(默认是备份完毕接着断开);
--result-file=/backup/参数指定文件存储到指定目录下面/backup/mysql-bin.000001,日志文件名称默认是不改变的,如果使用--result-file=x则会输出xmysql-bin.000001,所以这个参数还具有修改文件前缀的功能;
4)自动化定期备份脚本:
...后续更新
二、数据恢复:
数据恢复涉及到先后顺序,并且涉及到程序写入数据的问题,所以在数据恢复的时候一定要注意。另外,mysqldump备份的sql文件只能恢复数据库指定时间段的数据,而且当数据库的结构遭到损坏的时候,数据是恢复不了的。bin-log备份恢复的时候可以精确到秒级的数据,而且整个数据库结构都是可以保留完整的。
binlog数据恢复有成‘日志回滚’,如果bin-log日志也不甚丢失,那么数据库恢复的可能性基本上不大了。所以对于bin-log日志的备份工作一定要重视起来!
1.停止程序:
该步骤访问用户调用程序往数据库中写数据,造成数据库前后出现很大的误差,或者造成数据库的结构出现问题
2.使用mysqldump的备份文件恢复:
若发生数据丢失则使用最近的备份来恢复数据
mysql --host=x.x.x.x -uuser -p -P port < dump.sql
根据dump.sql备份文件中-- CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin.000018', MASTER_LOG_POS=27284语句中的二进制日志文件名和位置重新执行该坐标之后的二进制日志备份文件中的事件。
3.使用mysqlbinlog工具恢复最新binlog日志数据:
若最新的二进制日志备份文件为mysql-bin.000020,如下重新执行日志事件
mysqlbinlog --start-position=27284 mysql-bin.000018 mysql-bin.000019 mysql-bin.000020| mysql --host=x.x.x.x -uuser -p -P port
4.若使用mysqlbinlog持续备份的方法,则使用下面的命令:
执行如下命令恢复到2015年7月1日13点30开始的数据库状态
mysqlbinlog --start-date=“2015-07-01 13:30” mysqlbinlogxxx |mysql -uuser -p
执行如下命令恢复到2015年7月1日13点30截至的数据库状态
mysqlbinlog --stop-date=“2015-07-01 13:30” mysqlbinlogxxx |mysql -uuser -p
执行如下命令恢复到截至点为368312数据库状态
mysqlbinlog --stop-position="368312" /home/mysql/mysql-bin.000020 | mysql -u root -pmypwd
执行如下命令恢复到开始点为368315数据库状态
mysqlbinlog --start-position="368315" /home/mysql/mysal-bin.000020 | mysql -u root -pmypwd
参考:
Mysql_binlog备份恢复模式 :http://blog.chinaunix.net/uid-25492475-id-195432.html
结合mysqlbinlog与mysqldump进行MySQL数据备份与恢复(适用于较小的数据量):http://blog.csdn.net/zyz511919766/article/details/14229335
mysql 通过bin-log恢复数据方法详解 :http://www.111cn.net/database/mysql/51632.htm
转载于:https://blog.51cto.com/nanfeibobo/1718658
相关文章:

Linux环境ddd安装与使用
ddd是一个优秀的调试器,安装ddd破费周折 必须安装x开发环境 1.下载 http://ftp.gnu.org/gnu/ddd/,下载最新的ddd-3.3.12.tar.gz # wget http://ftp.gnu.org/gnu/ddd/ddd-3.3.12.tar.gz # tar zxvf ddd-3.3.12.tar.gz # cd ddd-3.3.12/ 2.配置 # ./…
华为诺亚、北大提出GhostNet,使用线性变换生成特征图,准确率超MobileNet v3 | CVPR 2020...
作者 | Kai Han, Yunhe Wang等编译 | Conv出品 | AI科技大本营(rgznai100)受限于内存空间和计算资源,将卷积神经网络部署到嵌入式设备中会比较困难。CNNs中特征图的冗余性是保证其成功的关键,但是在神经网络的结构设计中却鲜有研究…

pap和chap交叉认证
pap和chap交叉认证:R1启动pap,R2启动chap。R1上的配置:Router>enRouter#config tRouter(config)#enable s ciacoRouter(config)#line c 0Router(config-line)#pass ciacoRouter(config-line)#loginRouter(config-line)#logging syRouter(c…

如何在App中实现朋友圈功能之二快速实现用户信息的自定义——箭扣科技Arrownock...
如何在App中实现朋友圈功能之二快速实现用户信息的自定义自我关联社交元素:anSocial中很多的社交元素API,如帖子(Post)、相册(Album)、文件(File)等,这些API的可选参数中…

使用cat /proc/进程id/maps 查看进程内存映射
proc/<PID>/maps 查看进程的虚拟地址空间是如何使用的。 该文件有6列,分别为: 地址:库在进程里地址范围 权限:虚拟内存的权限,r读,w写,x,s共享,p私有; 偏移量:库在进程里地址范…
两成开发者月薪超 1.7 万、算法工程师最紧缺! | 中国开发者年度报告
整理 | 郭芮 责编 | 唐小引 出品 | CSDN(ID:CSDNnews) “求知若饥,虚心若愚”——这个原本出自《全球概览》的俳句,因为乔布斯在斯坦福大学毕业演讲中的引用而备受推崇,流传成为 IT 界的至理名言之一。在…

怎么处理404 错误页面 、处理404页面、asp.net 处理404页面
说明 On 指定启用自定义错误。如果未指定 defaultRedirect,用户将看到一般性错误。 Off 指定禁用自定义错误。这允许显示标准的详细错误。 RemoteOnly 指定仅向远程客户端显示自定义错误并且向本地主机显示 ASP.NET 错误。这是默认值。 system.web 元素 下添加下边…

转载:python原生态的输入窗口抖动+输入特效
python原生态的输入窗口抖动输入特效 出处:https://coding.net/u/acee/p/PythonPowerInput/git/blob/master/test_power_input.py __author__ Administrator import sys from lib.qm_app import App from PyQt4.QtGui import * from PyQt4.QtCore import * import …
华为提出基于进化算法和权值共享的神经网络结构搜索,CIFAR-10上仅需单卡半天 | CVPR 2020...
作者 | VincentLee来源 | 晓飞的算法工程笔记导读:为了优化进化算法在神经网络结构搜索时候选网络训练过长的问题,参考ENAS和NSGA-III,论文提出连续进化结构搜索方法(continuous evolution architecture search, CARS),最大化利用…

在.Net Micro Framework中显示汉字
摘要:MF平台支持的字体是专有格式,扩展名为tinyfnt,需要用专门的转化工具才能把windows平台上的字体转换为tinyfnt字体。在.Net Micro Framework SDK中提供了一个叫做TFConvert.exe的工具,我们可以用它在命令行下将PC机上的TrueType或者OpenT…

汇编语言使用C库函数和Linux动态链接
使用printf 代码 #cpuid2.s -- Using C labrary calls .section .data output: .asciz "The processor Vender is %s\n".section .bss .lcomm buffer, 12 .section .text .globl _start _start: movl $0, %eax cpuid …

springJDBC实现查询方法二
无废话,看代码: Overridepublic List<Sites> queryAllSites(Pager pager) {String sql "select * from sakai_site order by SITE_ID limit ?,?";Object[] obj new Object[]{pager.getStart(),pager.getLimit()};List<Sites> …

全球计算机视觉顶会CVPR 2020论文出炉:腾讯优图17篇论文入选
全球计算机视觉顶级会议CVPR2020 (IEEE Conference on Computer Vision and Pattern Recognition,即IEEE国际计算机视觉与模式识别会议) 即将于2020年6月14日-19日在美国西雅图召开。本届大会总共录取来自全球论文1470篇,腾讯优图实验室入选17篇。 作为…

gcc使用总结
1.基本选项 -o 指定输出文件名。如果不给出这个选项,gcc就给出预设的可执行文件a.out。 # cc -o XX XX.c -c 编译、汇编到目标代码,不进行链接 -v 打印较多信息,显示编译器调用的程序。 -E 仅作预处理,不进行编译、汇编…

websecurity - Web Security Testing Framework 超级牛B扫描器
Windows – Websecurify 0.3.exehttp://websecurify.googlecode.com/files/Websecurify%200.3.exeLinux – Websecurify 0.3.tgzhttp://websecurify.googlecode.com/files/Websecurify%200.3.tgzMac – Websecurify 0.3.dmghttp://websecurify.googlecode.com/files/Websecurif…

C中的qsort函数和C++中的sort函数的理解与使用
一、qsort()函数 原型:_CRTIMP void __cdecl qsort (void*, size_t, size_t,int (*)(const void*, const void*)); 参数解释:1、待排序数组首地址;2、数组中待排序元素数量;3、各元素的占用空间的大小;4、指向函数的指…
机器学习新闻综述:2019年AI领域不得不看的6篇文章
作者 | Limarc Ambalina翻译 | 火火酱,编辑 | Carol出品 | AI科技大本营(ID:rgznai100)在这篇机器学习新闻综述中,我们将回顾一些2019年以来在人工智能各个领域广泛传播或产生影响的重大新闻。此外,我们还将…

GDB attach到进程
要调试守护进程等已经启动的进程或是调试陷于死循环的进程可以使用attach命令 格式 attach pid C语言代码 #include <stdio.h> int main(void) { int marks[10]; int i; for(i0;i<12;i) { scanf("%d",&marks[i]); …

Chrome使用技巧和编辑框拖动怪问题。
常用快捷键:ctrlshiftt 重新打开刚关闭的网页ctrlh 打开历史记录ctrl 放大。ShiftEscape 查看任务管理器据说Chrome能调整编辑区大小,我没发现。倒发现Chrome一个问题,选中编辑框中的文字,一直拖动鼠标&a…

Linux中断研究
2019独角兽企业重金招聘Python工程师标准>>> 研究linux系统,不管是做驱动、协议栈还是进程调度等等,都离不开中断。这说明,要想编写正确的linux代码,不了解中断是不行的。 话说曾几何时,在大学的课堂里&…
linux环境内存分配原理
Linux的虚拟内存管理有几个关键概念: Linux 虚拟地址空间如何分布?malloc和free是如何分配和释放内存?如何查看堆内内存的碎片情况?既然堆内内存brk和sbrk不能直接释放,为什么不全部使用 mmap 来分配,munm…
大脑芯片公司Neuralink计划在人脑内植入芯片,他们到底想干什么?
作者 | James Murphy翻译 | 火火酱,编辑 | Carol出品 | AI科技大本营(ID:rgznai100)说实话,科幻电影在遇到Neuralink时也不得不甘拜下风。2019年7月,埃隆马斯克(Elon Musk)宣布,他的公司正在研发…

判断链表是否存在环(及其延伸)
有一个单链表,其中可能有一个环,也就是某个节点的next指向的是链表中在它之前的节点,这样在链表的尾部形成一环。问题:1、如何判断一个链表是不是这类链表?2、如果链表为存在环,如果找到环的入口点…

iOS跳转到各种系统设置界面
定位服务 定位服务有很多APP都有,如果用户关闭了定位,那么,我们在APP里面可以提示用户打开定位服务。点击到设置界面设置,直接跳到定位服务设置界面。代码如下: //定位服务设置界面 NSURL *url [NSURL URLWithString:…

Linux内存管理大图(第三稿)
网友画的还不错就转了 ,该作者一共画了3版 v0.1 v0.2 v0.3 原文地址:http://bbs.chinaunix.net/thread-2018659-1-1.html

VNC的安装与使用
VNC的安装与使用。 说明:文章内容比较简单,献给那些初学者作为参考。 文章分为两部分,第一部分为VNC简介,第二部分为VNC的安装与使用。 文章为小弟结合书籍与小弟的实际操作总结出来的,如有错误与疏漏之处…
百度「AI战疫」:首次开源肺炎CT影像分析AI模型,让诊断从分钟到秒
自疫情爆发以来,多家科技公司纷纷加入了抗击疫情的战役中。 其中,排查疫情是这场战役的重中之重,而 CT 影像已成为新冠肺炎筛查和病情诊疗的重要依据。 然而,在当前疫情诊疗的关键时期,存量患者和新增患者总体数量庞…

Linux_DNS服务器
目录 目录DNS DNS ServerServerSite Master DNS ServerForward DomainReverse Resolution Slave DNS ServerForward lookupReverse lookupSplit DNS ServerDNS DNS(Domain Name System,域名系统),在Internet上作为域名和IP地址映射的一个分布式数据库&am…
多场景下的AI疫情防控“天网”:解读云边端联动下的全栈AI技术
在全民抗疫的特殊时期下,伴随着春运返潮,企业陆续复工,从重点防控的机场、火车站等场所,到学校、企业、社区等密集型场所,都是不能忽视的地点。除了人工逐一测量体温排查外,我们还发现,在人员复…

DHCP配置与DHCP中继代理2
实验二:<?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" />Step1、配置DHCP中继代理1) 打开“管理工具”→“路由和远程访问”窗口,启用路由和远程访问,按向导提示完成操作。<?xml:namespac…