MySQL知识总结(四)二进制日志

1 定义

bin-log日志记录了所有的DDL和DML的语句,但不包括查询的语句,语句以事件的方式保存,描述了数据的更改过程,此日志对发生灾难时数据恢复起到了极为重要的作用。

2 开启

mysql默认是没有开发bin-log日志,首先我们需要开启bin-log日志,在my.cnf中修改

[mysqld]

log_bin = mysql-bin

datadir=/var/lib/mysql //指定数据文件存放目录,如二进制日志文件

查看二进制日志文件

cd /var/lib/mysql

ls

由于日志是以二进制方式存储的,不能直接读取,需要使用mysql自带的mysqlbinlog工具来进行查看

mysqlbinlog mysql-bin.000001

参考文档:

http://www.blogjava.net/dongbule/archive/2010/09/04/331050.html

时间: 2024-11-10 07:59:23

MySQL知识总结(四)二进制日志的相关文章

mysql查看和启用二进制日志

1.查看是否启用了日志 mysql>show variables like 'log_bin'; VALUE值为OFF为关闭状态 2.编辑my.cnf文件 vim /etc/my.cnf 在[mysqld]最下面填上  log-bin 保存退出 3.重启mysql service mysqld restart 4.再次查看是否启用了日志 mysql>show variables like 'log_bin'; 此时VALUE值为ON 5.查看当前的二进制日志 mysql> show ma

使用mysql purge手动清除二进制日志

对于一个访问量很大的mysql数据库,二进制日志的增量通常十分迅速,很可能出乎你的意料.犹如跑马圈地一样,你的磁盘大部分都会被日志给占满了. 出现问题总是需要解决的,而且总有要解决的方法: 方法一.使用php,perl,python,java等实现 连接数据库后,根据你的需求执行:purge binary logs before ....或purge binary logs to ...命令.(关于这两个命令的详细用法请参考mysql手册) 然后,将执行脚本的命令添加到crontab计划任务 方

MySQL 解密 --> 如何查看二进制日志ROW模式下最原始的SQL语句

MySQL的binlog的ROW模式解析          在mysql5.6以后,对主从数据一致性要求变高了,statement格式逐渐不太适合业务的需求了,所以生产环境大家都采用了row模式,row模式是传输最底层的数据变化的insert的模块来进行主从数据的传输,那么在binlog里面就和普通的statement模式有何差别?能否看到最原始的sql语句呢? 1.准备录入数据 mysql> create table test1(id int,c1 varchar(20),type int,a

关系型数据库之Mysql二进制日志管理(四)

MySQL二进制日志(Binary Log)1.它包含的内容及作用如下:包含了所有更新了数据或者已经潜在更新了数据(比如没有匹配任何行的一个DELETE)包含关于每个更新数据库(DML)的语句的执行时间信息不包含没有修改任何数据的语句,如果需要启用该选项,需要开启通用日志功能主要目的是尽可能的将数据库恢复到数据库故障点,因为二进制日志包含备份后进行的所有更新用于在主复制服务器上记录所有将发送给从服务器的语句启用该选项数据库性能降低1%,但保障数据库完整性,对于重要数据库值得以性能换完整.有些类似

MySQl Study学习之--MySQl二进制日志管理

MySQl Study学习之--MySQl二进制日志管理 MySQL二进制日志(Binary Log):   a.它包含的内容及作用如下:    包含了所有更新了数据或者已经潜在更新了数据(比如没有匹配任何行的一个DELETE)    包含关于每个更新数据库(DML)的语句的执行时间信息    不包含没有修改任何数据的语句,如果需要启用该选项,需要开启通用日志功能    主要目的是尽可能的将数据库恢复到数据库故障点,因为二进制日志包含备份后进行的所有更新    用于在主复制服务器上记录所有将发送

MySQL二进制日志(binary log)总结

本文出处:http://www.cnblogs.com/wy123/p/7182356.html (保留出处并非什么原创作品权利,本人拙作还远远达不到,仅仅是为了链接到原文,因为后续对可能存在的一些错误进行修正或补充,无他) 今天无意中发现了一个云栖社区举行的MySQL“第一季:挑战玄惭之 慢SQL性能优化赛”,在测试服务器上执行其测试脚本写入数据的时候报错提示如下,Multi-statement transaction required more than 'max_binlog_cache_

mysql二进制日志详解

二进制日志事件 基于语句:statement 基于行:rows 混合:mixed 二进制日志操作 mysql>show binary logs;   查看日志目录 mysql>show master status;  查看当前正在使用的日志 mysql>show binlog events in 'mysql-bin.000001' from 107;  从position值为107的位置查看日志内容 mysql>purge binary logs to 'mysql-biin.0

Mysql学习之--Mysql二进制日志管理

Mysql学习之--Mysql二进制日志管理 简介:     MySQL的二进制日志可以说或是MySQL最重要的日志了,它记录了所有的DDL和DML(除了数据查询语句)语句,以事件形式记录,还包含语句所执行的消耗的时间,MySQL的二进制日志是失误安全型的.      MySQL的二进制日志的作用是显而易见的,可以方便的备份这些日志以便做数据恢复,也可以作为主从复制的同步文件,然而二进制日志的大小可能会根据不同的需求而存在麻烦,所以让日志回滚是必须的,当然MySQL已经为我们提供了二进制回滚的功

mysql二进制日志的使用

mysql二进制日志也就是一些mysql命令操作的记录 删除二进制日志信息: 二进制日志会记录大量的信息(其中包含一些无用的信息).如果很长时间不清理二进制日志,将会浪费很多的磁盘空间.但是,删除之后可能导致数据库崩溃时无法进行恢复,所以若要删除二进制日志首先将其和数据库备份一份,其中也只能删除备份前的二进制日志,新产生的日志信息不可删(可以做即时点还原).也不可在关闭mysql服务器之后直接删除因为这样可能会给数据库带来错误的.若非要删除二进制日志需要做如下操作:导出备份数据库和二进制日志文件