前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >MySql binlog详解

MySql binlog详解

作者头像
幽鸿
发布2020-04-02 10:13:05
2K0
发布2020-04-02 10:13:05
举报

MySql binlog详解

作者:幽鸿   Jan 20, 2016 9:42:21 PM

1、开启binlog

         开启MySql的binlog其实不是像网上说的那么一致,我用的是Ubuntu系统。这些debian系统与普通的Linux在开启binlog的方法上是有区别的。在unbuntu下默认安装的MySql,开启binlog只需编辑/etc/mysql/my.cnf文件,修改配置:

        log_bin = mysql-bin------注意了,这里有个很大的坑,并不是打开注释,变成log_bin== /data/logs/mysql/mysql-bin.log

那么简单。打开注释后,重启MySql服务的时候,会fail to restart。这里只能配置成一个文件,会默认生成这个文件开头的日志文件,如2中查询的。

         到此,binlog是开启了。但是,我们应用程序在使用MySql数据库的时候,会报错:

代码语言:javascript
复制
 java.sql.SQLException: This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA
 in its declaration and binary logging is enabled (you *might* want to use the less safe  
 log_bin_trust_function_creators variable)

         这是因为,在function里面,只有 DETERMINISTIC, NO SQL 和 READS SQL DATA 被支持。如果我们开启了 bin-log, 我们就必须为我们的function指定一个参数。解决办法很简单:

         在my.cnf配置文件中添加:log_bin_trust_function_creators=1 就OK了。

2、查询binlog

(1)查询第一个Binlog文件内容:

mysql> show binlog events; +------------------+-----+-------------+-----------+-------------+--------------------------------------------------------+ | Log_name         | Pos | Event_type  | Server_id | End_log_pos | Info                                                   | +------------------+-----+-------------+-----------+-------------+--------------------------------------------------------+ | mysql-bin.000001 |   4 | Format_desc |         1 |         107 | Server ver: 5.5.43-0ubuntu0.12.04.1-log, Binlog ver: 4 | | mysql-bin.000001 | 107 | Stop        |         1 |         126 |                                                        | +------------------+-----+-------------+-----------+-------------+--------------------------------------------------------+

(2)查看指定binlog文件的内容

代码语言:javascript
复制
   show binlog events in 'mysql-bin.000002';

(3)查看当前正在写入的binlog文件

代码语言:javascript
复制
    show master status\G

(4)获取binlog文件列表

代码语言:javascript
复制
    show binary logs;

3、binlog存储路径

        默认情况下,binlog存储于/var/lib/mysql路径下。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • MySql binlog详解
相关产品与服务
云数据库 SQL Server
腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档