监听mysql表内容变化 mysql开启binlog

yizhihongxing

可以通过MySQL的binlog功能实现对表内容变化的监听,binlog是MySQL二进制日志文件,它记录了数据库中各种数据修改事件,包括数据库、表、行的增删改操作等。

在MySQL中,启用binlog,需要按如下步骤进行:

  1. 修改MySQL配置文件 my.cnf ,添加如下内容:
[mysqld]
log-bin=mysql-bin

其中,log-bin=mysql-bin 表示开启binlog功能,并将日志文件名设置为mysql-bin。

  1. 重启MySQL服务,使配置文件生效。

启用binlog后,可以通过mysqlbinlog、Canal等工具实现对binlog的监听,进行相关操作。

下面以mysqlbinlog为示例,讲解如何监听MySQL表内容变化。

  1. 使用命令 mysqlbinlog —raw mysql-bin.00000* > /path/to/file.sql 将binlog文件导出到指定位置。

  2. 使用命令 mysqlbinlog —raw mysql-bin.00000* | grep -i 'table_name' 将导出的binlog过滤,并指定要监听的表名。

例如,假设有如下的表结构:

CREATE TABLE user (
    id int(11) NOT NULL AUTO_INCREMENT,
    name varchar(20) NOT NULL,
    age tinyint(3) unsigned DEFAULT '0',
    PRIMARY KEY (id)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;

现在想要监听 user 表的 INSERT、UPDATE 和 DELETE 操作,可以使用如下命令进行过滤:

mysqlbinlog —raw mysql-bin.00000* | grep -i 'user' | egrep 'INSERT|UPDATE|DELETE'

这样就可以在终端实时查看该表的变化情况,进行相关操作。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:监听mysql表内容变化 mysql开启binlog - Python技术站

(1)
上一篇 2023年5月19日
下一篇 2023年5月21日

相关文章

  • 重装系统,新安装IDEA启动项目后,classnotfound:com.mysql.jdbc.Driver

    这个Test connection会自动帮你下载的,但是如果中途一直叫你try again,甚至到后面点这个test connection有弹窗,但是单窗里面的选项你点击后没反应,我是直接卸载IDEA重装了,(浪费一个下午弄这个问题),然后再来一次,就成功了。 我再说一下症状:我新装的IDEA,(重装系统),打开我以前的maven项目试着启动,报错找不到co…

    MySQL 2023年4月12日
    00
  • redis集群搭建以及在SpringBoot中的配置

    redis的安装:https://www.cnblogs.com/knightdreams6/p/11270400.html 集群搭建: 两台虚拟机模拟6个节点,一台机器3个节点,创建3 master, 3 salve 环境 redis采用 redis-5.0.5版本。 两台虚拟机都是CentOS7,一台ip(192.168.3.222),另一台(192.1…

    Redis 2023年4月11日
    00
  • MySQL使用二进制日志还原数据库

    MySQL 是一种开源的关系型数据库管理系统,它的日志文件是用于恢复和备份的重要部分。MySQL 支持三种类型的二进制日志,分别是:二进制日志、事务日志、和错误日志。其中,二进制日志是 MySQL 最常用的日志类型,它记录了所有添加、更改和删除表记录的 SQL 语句,是一个重要的恢复和备份工具。本文将详细介绍如何使用 MySQL 二进制日志还原数据库。 启用…

    MySQL 2023年3月10日
    00
  • MongoDB数据模型详解

    MongoDB是一种基于文档的非关系型数据库,数据模型也有所不同于传统的关系型数据库。本文将详细介绍MongoDB的数据模型,并通过示例代码进行演示。 文档 MongoDB中的最基本的数据单元是文档(Document),文档是一个以键值对形式组成的数据结构,类似于JSON对象。MongoDB中的文档可以包含嵌套的文档或数组。 下面是一个简单的文档示例: { …

    MongoDB 2023年3月13日
    00
  • SuperSocket 信息: (SpnRegister) : Error 1355。解决方法

    针对你提出的问题,我将会提供如下完整攻略: SuperSocket 信息: (SpnRegister) : Error 1355。解决方法 问题描述 在使用 SuperSocket 构建 WebSocket 服务时,可能会遇到以下提示: SuperSocket 信息: (SpnRegister) : Error 1355。解决方法 这个提示可能会在 Supe…

    database 2023年5月21日
    00
  • pymysql模块的使用(增删改查)详解

    pymysql模块的使用(增删改查)详解 pymysql是Python连接MySQL数据库的一个库,可以用于连接MySQL服务器、执行SQL查询和获取查询结果。 1. 安装pymysql模块 可以使用pip来安装pymysql模块 pip install pymysql 2. 连接MySQL数据库 pymysql使用connect()方法来连接MySQL数据…

    database 2023年5月22日
    00
  • Redis解决高并发问题

    高并发常见场景 商品抢购秒杀等活动 解决方式 使用Redis 列表结构实现队列数据结构,抢成功的使用 rpush 入队,再使用 lpop 出队。 Redis高并发可能产生的问题 redis宕机了,或者链接不上 解决方法:配置主从复制,配置哨兵模式,一旦发现主机宕机,让下一个从机当做主机。最坏的情况,只能关闭Redis连接,去往数据库连接。但由于数据量大,这样…

    Redis 2023年4月13日
    00
  • MySQL 配置文件 my.cnf / my.ini 区别解析

    MySQL 是一个常用的关系型数据库,而 my.cnf 或 my.ini 配置文件是 MySQL 的核心配置文件之一。在该配置文件中,你可以设置 MySQL 服务器的各项参数,以控制 MySQL 各个方面的运行行为和性能。 my.cnf 和 my.ini 配置文件的区别 在 Windows 操作系统上,MySQL 的默认配置文件是 my.ini,而在 Lin…

    database 2023年5月22日
    00
合作推广
合作推广
分享本页
返回顶部