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

八、备份策略

选择备份方式

选择备份时间

考虑到恢复成本

恢复时长

备份成本:锁时间、备份时长、备份负载

上一篇:html实体字符


下一篇:centos6/7破解root密码的操作