mysql 开发进阶篇系列 40 mysql日志之二进制日志下以及查询日志
一.binlog 二进制其它选项
在二进制日志记录了数据的变化过程,对于数据的完整性和安全性起着非常重要作用。在mysql中还提供了一些其它参数选项,来进行更小粒度的管理。
1.1 binlog-do-db=db_name
该选项告诉主服务器,当前db_name库会更新记录到二进制日志中,其它所有没有显示指定的数据库更新时不记录到二进制日志中。
1.2 binlog-ignore-db=db_name
该选项告诉主服务器,当前db_name库不会更新记录到二进制日志中,其它所有没有显示指定的数据库会更新到二进制日志中。
下面来演示下binlog-ignore-db选项。在my.cnf中加上binlog-ignore-db=test。该test库更新时不记录到二进制日志中。my.cnf设置如下图所示:

修改my.cnf后,重启mysqld服务,查看最新binlog编号为 000017。

--在test库的a表中插入一条数据
INSERT INTO a VALUES('cccccc');
查看binlog二进制日志,发现该插入语句,没有在二进制日志中出现。如下图所示:

接下来注释my.cnf中的binlog-ignore-db=test。

重启mysqld服务, 查看最新binlog编号为000018。如下图所示:

--在test库的a表中插入一条数据
INSERT INTO a VALUES('dddddd');
查看binlog二进制日志,发现该插入语句,已经记录到二进制日志中。如下图所示:

总结:
(1)对于明文的DML语句,使用 如:./mysqlbinlog --base64-output=decode-row -v mysql-bin.000018
(2)在mysql客户端使用FLUSH LOGS或重启服务会生成新的binlog日志文件序号(已确定 )。
(3)除了使用mysqlbinlog查看还可以在mysql客户端使用,先设置my.cnf的binlog_rows_query_log_events=1, 开启如下图所示:

SHOW VARIABLES LIKE 'binlog_rows_query_log_events'

-- 插入数据
INSERT INTO testbackup VALUES(4,'田七')
-- 查看binlog日志
SHOW BINLOG EVENTS IN 'mysql-bin.000029' ;

(4) 使用SHOW MASTER STATUS;查看最新日志

二. 查询日志general_log
上面我们知道,在二进制日志里是不包含查询数据的语句。下面可以使用general_log=1选项参数开启,来记录客户端的所有查询语句。log_output=FILE,TABLE 选项参数为输出格式是文件和表。 启动mysqld服务后,查询日志开始被记录。
-- 日志查询是否开启,如果general_log的值为ON则为开启,为OFF则为关闭(默认情况下是关闭的)
SHOW VARIABLES LIKE '%general%';

-- 输出日志格式为文件还是表
SHOW VARIABLES LIKE '%log_output%';

对于查询日志log这里就不在演示。在log中记录了所有数据库的操作,对于访问频繁的系统,此日志对系统性能的影响较大,一般不建议开启,如果是对查询进行跟踪确认可以打开记录一段时间。
mysql 开发进阶篇系列 40 mysql日志之二进制日志下以及查询日志的更多相关文章
- mysql 开发进阶篇系列 20 MySQL Server(innodb_lock_wait_timeout,innodb_support_xa,innodb _log_*)
1. innodb_lock_wait_timeout mysql 可以自动监测行锁导致的死锁并进行相应的处理,但是对于表锁导致的死锁不能自动监测,所以该参数主要用于,出现类似情况的时候等待指定的时间 ...
- mysql 开发进阶篇系列 41 mysql日志之慢查询日志
一.概述 慢查询日志记录了所有的超过sql语句( 超时参数long_query_time单位 秒),获得表锁定的时间不算作执行时间.慢日志默认写入到参数datadir(数据目录)指定的路径下.默认文件 ...
- mysql 开发进阶篇系列 39 mysql日志之二进制日志(binlog)
一.概述 二进制日志(binlog)记录了所有的DDL(数据定义语言)语句和DML(数据操纵语言)语句,但是不包括数据查询语句, 语句以"事件"的形式保存,它描述了数据的更改过程, ...
- mysql 开发进阶篇系列 38 mysql日志之错误日志log-error
一.mysql日志概述 在mysql中,有4种不同的日志,分别是错误日志,二进制日志(binlog日志),查询日志,慢查询日志.这此日志记录着数据库在不同方面的踪迹(区别sql server里只有er ...
- mysql 开发进阶篇系列 16 MySQL Server(myisam key_buffer)
一.概述 mysql 提供了很多参数来进行服务器的设置,当服务第一次启动的时候,所有启动参数值都是系统默认的.这些参数在很多生产环境下并不能满足实际的应用需求.在这个系列中涉及到了liunx 服务器, ...
- mysql 开发进阶篇系列 19 MySQL Server(innodb_flush_log_at_trx_commit与sync_binlog)
一. innodb_flush_log_at_trx_commit 这个参数名称有个log,一看就是与日志有关.是指:用来控制缓冲区(log buffer)中的数据写入到日志文件(log file), ...
- mysql 开发进阶篇系列 18 MySQL Server(innodb_buffer_pool_size)
从这篇开始,讲innodb存储引擎中,对于几个重要的服务器参数配置.这些参数以innodb_xx 开头. 1. innodb_buffer_pool_size的设置 这个参数定义了innodb存储引擎 ...
- mysql 开发进阶篇系列 17 MySQL Server(key_buffer与table_cache)
一.key_buffer 上一篇了解key_buffer设置,key_buffer_size指定了索引缓冲区的大小,它决定索引处理的速度,尤其是索引读的速度.通过检查状态值Key_read_reque ...
- mysql 开发进阶篇系列 55 权限与安全(安全事项 )
一. 操作系统层面安全 对于数据库来说,安全很重要,本章将从操作系统和数据库两个层面对mysql的安全问题进行了解. 1. 严格控制操作系统账号和权限 在数据库服务器上要严格控制操作系统的账号和权限, ...
随机推荐
- short s1 = 1; s1 = s1 + 1;和 short s1 = 1; s1 += 1;的问题,终于弄懂了
对于short s1 = 1; s1 = s1 + 1; 由于s1+1运算时会自动提升表达式的类型,所以结果是int型,再赋值给short类型s1时,编译器将报告需要强制转换类型的错误. 对于shor ...
- boost::asio 学习
安装 下载-解压 指定安装目录 ./bootstrap.sh --prefix=/usr/local/boost_1_68_0 查看所有必须要编译才能使用的库 ./b2 --show-librarie ...
- 配置apache虚拟域名(phpStudy2016)
以前也一个个的配置过apache.php和mysql,现在嫌麻烦,就用的phpStudy. 装好之后,发现127.0.0.1可以访问,但是localhost就不可以访问.大概是因为apache没有配置 ...
- 在IIS7里配置 ISAPI,运行dll程序,总提示下载dll
在IIS7里配置 ISAPI,运行dll程序,总提示下载dll,只需要把对应站点应用程序池里面的高级设置里的启用32位应用程序,设为“true"即可.
- javaweb开发1.环境配置(javaweb插件下载及tomact在eclips中配置)
一.下载javaweb插件 1.安装好jdk,下载eclips(Juno版本) 2.打开eclips,安装Web插件和JavaEE插件 3 在Eclipse中菜单help选项中选择install ne ...
- 20172325 2018-2019-2 《Java程序设计》第六周学习总结
20172325 2018-2019-2 <Java程序设计>第六周学习总结 教材学习内容总结 本周学习第十章--树 1.什么是树 (1)树是一种数据结构,与之前学过的栈.队列和列表这些线 ...
- W7500P硬件TCP/IP+硬件物理层PHY+Cortex-M0处理器(48MHZ)
W7500P 硬件TCP/IP+硬件物理层PHY+Cortex-M0处理器(48MHZ) 硬件TCP/IP+硬件物理层PHY+Cortex-M0处理器(48MHZ) 如果您发现商品信息不准确,欢迎纠错 ...
- 第一次使用zxxbox弹层经历
一:首先这个插件是基于JQuery的插件,要先导入JQuery,然后再导入这个插件 二:HTML部分 <a href="http://www.jisuapi.com/static/im ...
- mybatis 插入数据 在没有commit时 获取主键id
<insert id="insert" parameterType="Mail" useGeneratedKeys="true" ...
- OpenCV图像分割2
1.GrubCut算法 2.K-means聚类算法 3.分水岭算法