标签:ast 开始 存储过程 命令 恢复 eve minimal res 开启
记录了所有对MySQL数据库的修改事件,包括增删改查事件和对表结构的修改事件
#是否启用了日志
mysql> show variables like ‘log_bin‘;
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| log_bin | OFF |
+---------------+-------+
[mysqld]
log-bin [=DIR \ [filename]]
log_bin=mysql-bin 名字可以随便起(mysql-bin)
binlog_format={STATEMENT|ROW|MIXED}
mysql> show variables like ‘binlog_format‘;
mysql> set session binlog_format=statement;
mysql> show binary logs;
mysql> flush logs;
误操作而修改了数据库中的数据,同时又没有备份可以恢复时,我们就可以通过分析二进制日志,对日志中记录的数据修改操作做反向处理的方式来达到恢复数据的目的
binlog_format=MIXED
#显示当前服务器使用的二进制文件及大小
mysql> show binary logs
#显示主服务器使用的二进制文件及大小
mysql> show master logs;
#当前使用的二进制文件及所处位置
mysql> show master status
#lush logs一般只会滚动中继日志和二进制日志
mysql> flush logs;
#二进制日志的记录位置,通常为上一个事件执行结束时间的位置
mysql> showmaster status;
#...数据库的增删改查
#观察二进制位置的变化
mysql> show master status;
#查看所有的二进制信息
mysql> show binlog events\G;
#查看指定日志的二进制信息
mysql> show binlog events in ‘mysql-bin.000011‘;
#从指定的事件位置开始
mysql> show binlog events in ‘mysql-bin.000011‘ from 190;
#指定偏移量(不是语句,是事件)
mysql> showbinlog events in ‘mysql-bin.000011‘ from 190 limit 3;
#必须在数据目录下
mysqlbinlog mysql-bin.000017
#导出此数据库的信息
mysqlbinlog mysql-bin.000017 > /tmp/a.sql
#导入此数据库的信息
mysql < a.sql
mysqlbinlog -vv 日志名
长时间不清理会浪费很多的磁盘空间,但是删除后可能导致数据库崩溃无法进行恢复.
若要删除二进制日志首先将其和数据库备份一份
#删除所有的二进制日志(不可效仿)
mysql> reset master;
#根据文件或时间点来删除二进制日志
# TO ‘log_name‘ 删除文件之前的所有文件
mysql> PURGE { BINARY | MASTER } LOGS {TO ‘log_name‘ | BEFORE datetime_expr }
#使用时间来删除二进制日志
mysql> PURGEBINARY LOGS BEFORE ‘13-10-19 10:26:36‘;
标签:ast 开始 存储过程 命令 恢复 eve minimal res 开启
原文地址:http://www.cnblogs.com/wajika/p/6710930.html