binlog日志常用命令整理

优质老薛主机推荐:15%终身付款折扣:xwseo15 25%首次付款折扣 : xwseo115 点击下图进入购买

最近由于项目需要,所以小魏总结了经常用的mysqlbinlog日志常用的几个命令,然后小魏进行了搜集希望分享给大家,同时方便自己在操作时忘记可以用的上,那么接下来看看小魏亲自测试总结的binlog日志常用命令整理吧!

什么是binlog日志:binlog既二进制日志文件,它记录了数据库上的所有改变.

binlog日志常用命令整理

重要性:

众所周知,binlog日志对于mysql数据库来说是十分重要的。在数据丢失的紧急情况下,我们往往会想到用binlog日志功能进行数据恢复(定时全备份+binlog日志恢复增量数据部分),化险为夷!

1.binlog日志常用命令整理如下:

mysqlbinlog日志是否开启:show variables like '%log_bin%';

查看binlog日志位置:show variables like '%datadir%';

查看binlog日志文件列表:show binary logs;

查看指定binlog文件的内容:show binlog events in 'mysql-bin.000026';

只查看第一个binlog文件的内容:show binlog events;

查看当前正在写入的binlog文件:show master status\G

查看binlog的格式:show variables like 'binlog_format';

purge binary logsto 'mysql-bin.**'  #删除到**文件

flush logs; 刷新日志

reset master;  重置(清空)所有binlog日志

show variables like '%log%';  查看log

2.MySQL数据的binlog处理方法 日志定时清理

日志太多导致网站可能出现的情况如下:

1.最近发现mysql的binlog目录下的日志太多了,磁盘空间被占满了,导致网站访问不了。
2.对于比较繁忙的OLTP系统,由于每天生产日志量大,这些日志如果长时间不清理,将会对磁盘空间带来很大的浪费,因此,定期删除日志是DBA维护MySQL数据库的一个重要工作内容
3.当开启MySQL数据库主从时,会产生大量如mysql-bin.00000* log的文件,这会大量耗费您的硬盘空间。

查看指定删除日志
mysql >show binary logs; 查看多少binlog日志,占用多少空间。

mysql> PURGE MASTER LOGS TO ‘mysql-bin.002467’; 删除mysql-bin.002467以前所有binlog,这样删除可以保证*.index信息与binlog文件同步。

自动设置清理:
mysql> set global expire_logs_days = 5; 把binlog的过期时间设置为5天; mysql> flush logs; 刷一下log使上面的设置生效,否则不生效。
为保证在MYSQL重启后仍然有效,在my.cnf中也加入此参数设置
expire_logs_days = 5

手动清理

mysql>PURGE MASTER LOGS BEFORE DATE_SUB(CURRENT_DATE, INTERVAL 5 DAY); 手动删除5天前的binlog日志

不复启mysql重新加载my.cnf文件的情况下,修改mysqlbinlog类型的方法:
mysql> SET SESSION binlog_format = ‘STATEMENT’;
mysql> SET SESSION binlog_format = ‘ROW’;
mysql> SET SESSION binlog_format = ‘MIXED’;
mysql> SET GLOBAL binlog_format = ‘STATEMENT’;
mysql> SET GLOBAL binlog_format = ‘ROW’;
mysql> SET GLOBAL binlog_format = ‘MIXED’;

利用binlog恢复数据:

bin/mysqlbinlog  –start-datetime=’2011-7-7 18:0:0′–stop-datetime=’2011-7-7 20:07:13′ data/mysql-bin.000008 |mysql -u root

赞 (0)
分享到:更多 ()