MySQL二进制日志的备份和恢复
二进制日志:记录数据库修改的相关操作,作用是即时点回复,主从复制
可以按时间滚动,也可以按大小滚动
server-id:服务器身份标识
一、二进制文件的删除方法,千万不要手动删除
PURGE BINARY LOGS TO 'mysql-bin.010';
PURGE BINARY LOGS BEFORE '2008-04-02 22:46:26';
二、常用的操作:
SHOW MASTER STATUS;
FLUSH LOGS;
SHOW BINARY LOGS;
SHOW BINLOG EVENTS IN ‘log_file’\G;
查看从某个点开始的操作:
mysqlbinlog --start-position=123 mysql-bin.000001 > fansik.sql
mysqlbinlog
--start-time
--stop-time
--start-position
--stop-position
三、MySQL记录二进制日志的格式:
基于语句:statement
基于行:row
混合模式:mixed
四、MySQL二进制日志内容格式:
事件发生的日期和时间
服务器ID
事件的结束位置
事件的类型
原服务器生成此事件的线程ID
语句的时间戳和写入二进制日志文件的时间差
错误代码
事件内容
事件位置,相当于下一个事件的开始位置
五、服务器参数
log_bin = {ON|OFF}还可以是个文件路径
log_bin_trust_function_creators
sql_log_bin = {ON|OFF}
sync_binlog
binlog_format = {statement|row|mixed}
max_binlog_cache_size =
二进制日志缓冲空间大小,从MySQL5.5.9以后,仅用于缓冲事务类的语句
max_binlog_stmt_cache_size
事务类和非事务类语句共用的缓冲区大小
max_binlog_size = 二进制日志文件的上限
建议:切勿将二进制日志与数据文件放在同一设备
六、中继日志
relay_log_purge={ON|OFF}
是否自动清理不再需要的中继日志
七、备份和恢复
1、灾难恢复;
2、审计
3、测试
备份:目的用于恢复,对备份数据做恢复测试
备份类型:
- 根据备份时,数据库是否在线:
冷备:cold backup
温备:warm backup
热备:hot backup
- 根据备份的数据集:
完全备份:full backup
部分备份:partial backup
- 根据备份时的接口(直接备份数据文件还是通过MySQL服务器导出数据):
物理备份(physical backup):直接复制(归档)数据文件的备份方式
逻辑备份(logical backup):把数据从库中提出来保存为文本文件
- 根据备份时是备份整个数据还是仅备份变化的数据
完全备份:full backup
增量备份:incremental backup
差异备份:differential backup
八、备份策略
选择备份方式
选择备份时间
考虑到恢复成本
恢复时长
备份成本:锁时间、备份时长、备份负载
MySQL二进制日志的备份和恢复的更多相关文章
- MySQL二进制日志备份和恢复详解
原文链接:http://www.showerlee.com/archives/681 ****经实践,该教程ok,特在此分享**** 基本概念 定义: 二进制日志包含了所有更新了数据或者已经潜在更新了 ...
- Mysql 二进制日志备份还原
Mysql 二进制日志备份还原 一.开启二进制日志 1.进入配置文件[mysqld]下添加配置 方案一 vim /etc/my.cnf log-bin = /usr/local/mysql/logs/ ...
- mysql数据安全之利用二进制日志mysqlbinlog备份数据
mysql数据安全之利用二进制日志mysqlbinlog备份数据 简介:如何利用二进制日志来备份数据 什么是二进制日志: 二进制日志就是记录着mysql数据库中的一些写入性操作,比如一些增删改,但是, ...
- MySQL 二进制日志(Binary Log)
同大多数关系型数据库一样,日志文件是MySQL数据库的重要组成部分. MySQL有几种不同的日志文件.通常包括错误日志文件,二进制日志,通用日志,慢查询日志,等等.这些日志能够帮助我们定位mysqld ...
- MySQL二进制日志(binary log)总结
本文出处:http://www.cnblogs.com/wy123/p/7182356.html (保留出处并非什么原创作品权利,本人拙作还远远达不到,仅仅是为了链接到原文,因为后续对可能存在的一些错 ...
- mysql二进制日志详解
一.什么是二进制日志 二进制日志主要记录mysql数据库的变化,二进制日志包含所有更新了数据或者潜在更新了数据(如没有匹配到任何行的delete语句),语句以时间的形式保存,描述了数据的更改.二进制日 ...
- MySQL二进制日志功能介绍
二进制日志记录所有更新数据的SQL语句,其中也包含可能更新数据的SQL语句,例如DELETE语句执行过程中无匹配的行.二进制日志中还包含了与执行SQL语句相关的内容,例如SQL语句执行的时间.错误代码 ...
- MySQl Study学习之--MySQl二进制日志管理
MySQl Study学习之--MySQl二进制日志管理 MySQL二进制日志(Binary Log) a.它包括的内容及作用例如以下: 包括了全部更新了数据或者已经潜在更新了数据(比方没 ...
- MySQL二进制日志总结
二进制日志简单介绍 MySQL的二进制日志(binary log)是一个二进制文件,主要用于记录修改数据或有可能引起数据变更的MySQL语句.二进制日志(binary log)中记录了对MySQL数据 ...
随机推荐
- 使用 JDBC 调用函数 & 存储过程
/** * 如何使用 JDBC 调用存储在数据库中的函数或存储过程 */ @Test public void testCallableStatment() { Connection connectio ...
- Java并发编程(二)线程任务的中断(interrupt)
使用interrupt()中断线程 当一个线程运行时,另一个线程可以调用对应的Thread对象的interrupt()方法来中断它,该方法只是在目标线程中设置一个标志,表示它已经被中断,并立即返回. ...
- Swift 实现iOS Animation动画教程
这是一篇翻译文章.原文出处:http://www.raywenderlich.com/95910/uiview-animation-swift-tutorial 动画( animation)是iOS用 ...
- Oracle GoldenGate: 使用宏
OGG宏与C语言中的宏一样,提供了函数封装的功能,即可以将一些配置参数整理为一个宏,然后在多个参数文件中共用,针对环境复杂或多个复制点的情况尤其有用.下面我们将介绍如何创建一个宏的库,以及在 ...
- Python的平凡之路(1)
2016-07-26 一.Python简介 Python是一种解释型.面向对象.动态数据类型的高级程序设计语言.它的特点如下: 面向对象.解释语言.交互性.模块化.动态性.高级语言.可移植.可 ...
- php的数组与数据结构
一.数组的分类与定义 分类: 1.索引数组 $array = array(1,2,3,4,5); 2.关联数组 $array=array(1=>"aa","bb ...
- java中判断字符串是否为数字的三种方法
以下内容引自 http://www.blogjava.net/Javaphua/archive/2007/06/05/122131.html 1用JAVA自带的函数 public static ...
- MySQL中like的使用方法
Like的运用场合主要在模糊查询的时候,一般以查询字符串居多,这里据一些例子来说他的一般用法: <1>查询name字段中包含有“明”字的:例 select * from table1 wh ...
- python3 nonlocal vs global
考虑这样一个python程序: x = 12 def func(): x = 1 func() print(x) 输出为:x = 12 因为函数内部定义的x被认为只属于局部作用域,为了表明我么引用的是 ...
- 极客DIY:打造属于自己的无线移动渗透测试箱
本文中介绍的工具.技术带有一定的攻击性,请合理合法使用. 你想不想拥有一款属于自己的移动无线渗透测试箱,如果你感兴趣,下面介绍的设备将会对你很有帮助.这个箱子被称为“MiTM(中间人攻击)WiFi箱” ...