`

如何管理 MySQL 的 binlog 收藏

 
阅读更多

*************************************
* 关于 binlog *
*************************************
--binlog 以一种更有效的格式,并且是事务安全的方式包含更新日志中可用的所有信息。
--binlog 包含了所有更新了数据或者已经潜在更新了数据(例如,没有匹配任何行的一个DELETE)的所有语句。语句以“事件”的形式保存,它描述数据更改。
--binlog 还包含关于每个更新数据库的语句的执行时间信息。它不包含没有修改任何数据的语句。如果你想要记录所有语句(例如,为了识别有问题的查询),你应使用一般查询日志。
--binlog 的主要目的是在恢复使能够最大可能地更新数据库,因为 binlog 包含备份后进行的所有更新。
--binlog 还用于在主复制服务器上记录所有将发送给从服务器的语句。
--运行服务器时若启用 binlog 则性能大约慢1%。但是, binlog 的好处,即用于恢复并允许设置复制超过了这个小小的性能损失。
--当--log-bin[=file_name]选项启动时,mysqld写入包含所有更新数据的SQL命令的日志文件。如果未给出file_name值, 默认名为-bin后面所跟的主机名。如果给出了文件名,但没有包含路径,则文件被写入数据目录。建议指定一个文件名。如果你在日志名中提供了扩展名(例如,--log-bin=file_name.extension),则扩展名被悄悄除掉并忽略。
--mysqld在每个 binlog 名后面添加一个数字扩展名。每次你启动服务器或刷新日志时该数字则增加。如果当前的日志大小达到max_binlog_size,还会自动创建新的 binlog 。如果你正使用大的事务, binlog 还会超过max_binlog_size:事务全写入一个 binlog 中,绝对不要写入不同的 binlog 中。
--为了能够知道还使用了哪个不同的 binlog 文件,mysqld还创建一个 binlog 索引文件,包含所有使用的 binlog 文件的文件名。默认情况下与 binlog 文件的文件名相同,扩展名为'.index'。你可以用--log-bin-index[=file_name]选项更改 binlog 索引文件的文件名。当mysqld在运行时,不应手动编辑该文件;如果这样做将会使mysqld变得混乱。
--binlog 格式有一些已知限制,会影响从备份恢复。
--默认情况下,并不是每次写入时都将 binlog 与硬盘同步。因此如果操作系统或机器(不仅仅是MySQL服务器)崩溃,有可能 binlog 中最后的语句丢失了。要想防止这种情况,你可以使用sync_binlog全局变量(1是最安全的值,但也是最慢的),使 binlog 在每N次 binlog 写入后与硬盘同步。

************************************************
* 如何管理 MySQL 的 binlog *
************************************************
1、在 my.ini 中增加下述参数,指定保存更新到 binlog 的数据库:db_name,未在此指定的数据库将不记录 binlog
--binlog-do-db=db_name

2、在 my.ini 中增加下述参数,指定不保存更新到 binlog 的数据库:db_name
--binlog-ignore-db=db_name

3、如果 binlog 已经产生,可以通过 SQL 命令行清除:

/*
* 要清理日志,需按照以下步骤:
* 1 在每个从属服务器上,使用SHOW SLAVE STATUS来检查它正在读取哪个日志。
* 2 使用SHOW MASTER LOGS获得主服务器上的一系列日志。
* 3 在所有的从属服务器中判定最早的日志。这个是目标日志。如果所有的从属服务器是更新的,这是清单上的最后一个日志。
* 4 制作您将要删除的所有日志的备份。(这个步骤是自选的,但是建议采用。)
* 5 清理所有的日志,但是不包括目标日志。
*
*/

/*
* 清除 binlog
*
* 为了执行RESET,您必须拥有RELOAD权限。
* 以下命令将删除列于索引文件中的所有 binlog,把 binlog 索引文件重新设置为空,并创建一个新的 binlog。
* (在以前版本的MySQL中,被称为FLUSH MASTER。)
*/
RESET MASTER;

/*
* 清除指定的 binlog
*
*/
PURGE MASTER LOGS TO 'mysql-bin.010';
/*
* 清除日期为 2006-06-06 06:06:06 以前的 binlog
*
* BEFORE变量的date自变量可以为'YYYY-MM-DD hh:mm:ss'格式。MASTER和BINARY是同义词。
*/
PURGE MASTER LOGS BEFORE '2006-06-06 06:06:06';
/*
* 清除3天前的 binlog
*
*/
PURGE MASTER LOGS BEFORE DATE_SUB( NOW( ), INTERVAL 3 DAY);

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/ccsdba/archive/2007/10/18/1831193.aspx

分享到:
评论

相关推荐

    MySQL Binlog Digger 4.28 + Mysql Binlog分析 + 数据库

    MySQL Binlog Digger是一款免费的,且基于图形界面的binlog挖掘分析工具与sql审计工具。当发生误删、误增、误改时,它可以帮助我们从binlog中快速定位到误操作的重做语句(redo sql),同时推理出回滚语句(undo sql)。...

    MySQL Binlog Digger 4.8.0

    MySQL Binlog Digger是一个基于图形界面的MySQL Binlog挖掘分析工具,可以为数据恢复提供undo sql回滚语句,它免安装,能对在线binlog与离线binlog进行分析,在选定在线binlog(甚至分析到最新日志)或离线binlog日志...

    Mysql binlog查看工具

    简单好用的mysql binlog查看工具 采集于网络。

    MySQL Binlog Digger 4.19

    MySQL Binlog Digger 4.19安装包,mysql日志回滚、解析、挖掘、支持离线在线 支持解析全sql字段语句

    mysql binlog日志恢复【亲测有效,有例子实测】

    二进制日志(binnary log)以事件形式记录了...主从复制:mysql replication在master端开启binlog,master把它的二进制日志传递给slaves来达到master-slave数据一致的目的。 数据恢复:通过mysqlbinlog工具来恢复数据。

    mysql-binlog-connector-java-0.21.0-API文档-中文版.zip

    赠送jar包:mysql-binlog-connector-java-0.21.0.jar; 赠送原API文档:mysql-binlog-connector-java-0.21.0-javadoc.jar; 赠送源代码:mysql-binlog-connector-java-0.21.0-sources.jar; 赠送Maven依赖信息文件:...

    MySQL Binlog Digger 4.10

    MySQL Binlog Digger基于图形界面,免安装的日志分析工具,能对在线binlog与离线binlog进行分析,在选定在线binlog或离线binlog日志后,可对数据库、表、binlog开始时间、binlog结束时间、误操作的重做类型进行信息...

    MySQL – binlog日志简介及设置

    mysql-binlog介绍   mysql-binlog是MySQL数据库的二进制日志,用于记录用户对数据库操作的SQL语句((除了数据查询语句)信息。可以使用mysqlbin命令查看二进制日志的内容。 binlog 的作用 用于数据库的主从复制及...

    MySQL Binlog Digger 4.18 Setup.exe

    MySQL Binlog Digger是一款免费的,且基于图形界面的binlog挖掘分析工具与sql审计工具。当发生误删、误增、误改时,它可以帮助我们从binlog中快速定位到误操作的重做语句(redo sql),同时推理出回滚语句(undo sql)。...

    开启mysql-Binlog

    开启mysql-binlog操作 binlog日志用于记录所有更新了数据或者已经潜在更新了数据的所有语句。语句以“事件”的形式保存,它描述数据更改。当我们因为某种原因导致数据库出现故障时,就可以利用binlog日志来挽回...

    MySQL Binlog Digger 4.9.rar

    MySQL Binlog Digger基于图形界面,免安装的日志分析工具,能对在线binlog与离线binlog进行分析,在选定在线binlog或离线binlog日志后,可对数据库、表、binlog开始时间、binlog结束时间、误操作的重做类型进行信息...

    MySQL Binlog Digger 4.20 Setup.exe

    MySQL Binlog Digger是一款免费的,且基于图形界面的binlog挖掘分析工具与sql审计工具。当发生误删、误增、误改时,它可以帮助我们从binlog中快速定位到误操作的重做语句(redo sql),同时推理出回滚语句(undo sql)。...

    8、NIFI综合应用场景-NiFi监控MySQL binlog进行实时同步到hive

    8、NIFI综合应用场景-NiFi监控MySQL binlog进行实时同步到hive 网址:https://blog.csdn.net/chenwewi520feng/article/details/130620988 本文旨在介绍通过实时监控mysql的binlog实现数据的实时同步至hive中。但由于...

    mysql通过binlog同步数据到redis的方法.docx

    mysql通过binlog同步数据到redis的方法.docx

    Pulsar集群 监听mysql8的binlog java代码

    Pulsar集群 监听mysql8的binlog java代码

    mysqlbinlog和binlog2sql的使用及mysql通过binlog日志恢复数据库数据

    mysqlbinlog和binlog2sql的使用及mysql通过binlog日志恢复数据库数据

    mysql-binlog二进制日志恢复

    个人整理,mysql binlog 日志恢复

    mysql-binlog-connector-java-0.21.0-API文档-中英对照版.zip

    赠送jar包:mysql-binlog-connector-java-0.21.0.jar; 赠送原API文档:mysql-binlog-connector-java-0.21.0-javadoc.jar; 赠送源代码:mysql-binlog-connector-java-0.21.0-sources.jar; 赠送Maven依赖信息文件:...

Global site tag (gtag.js) - Google Analytics