iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >如何监听mysql表内容变化
  • 212
分享到

如何监听mysql表内容变化

2024-04-02 19:04:59 212人浏览 八月长安
摘要

这篇文章主要为大家展示了“如何监听Mysql表内容变化”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何监听mysql表内容变化”这篇文章吧。前言binlog

这篇文章主要为大家展示了“如何监听Mysql表内容变化”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何监听mysql表内容变化”这篇文章吧。

前言

binlog 就是binary log,二进制日志文件,这个文件记录了mysql所有的增、删、改语句。通过binlog日志我们可以做数据恢复,做主从复制等等。可以看到,只要有了这个binlog,我们就拥有了mysql的完整备份了。

我们时常会碰到这样的需求,就是要监听某个表的变化,然后来做一些操作。

如果该表数据只增加、不删除修改的话,要监听比较简单,可以定时去查询最新的id即可。但要有删除、修改操作的话,免不了就得全表扫描,效率极低。倘若该表发生变化时,能触发个事件之类的可供监听,那最好不过。

现在我们就可以通过binlog来完成了。监听binlog的变化即可,这样每次执行了什么语句都会提现在binlog里,我们就能监听到了。

binlog默认是关闭的,我们要开启它,就需要来修改mysql的配置文件。

Mac上brew安装的mysql,默认安装后的目录是/usr/local/Cellar,版本是5.7.21。

如何监听mysql表内容变化

可以看到,目录下没有配置文件,这和其他的一些版本可能不一样,别的版本在根目录下会有个my.ini,或者my.cnf文件,或者在support-files里有个my-default.cnf文件,这个版本是没有的。

要修改配置文件,就需要我们自己来创建。

在/etc/目录下创建一个my.cnf文件,内容是

[mysqld]
server_id = 1
log-bin = mysql-bin
binlog-fORMat = ROW

mysql-bin只是个名字而已,可以随便起。将来保存的日志文件名就是mysql-bin.000001,mysql-bin.000002这样的。

注意 binlog_format 必须设置为 ROW, 因为在 STATEMENT 或 MIXED 模式下, Binlog 只会记录和传输 SQL 语句(以减少日志大小),而不包含具体数据,我们也就无法保存了。

然后通过brew restart mysql重启mysql。再通过mysql -uroot -p命令进入mysql控制台,执行

show variables like '%log_bin%' ;

如何监听mysql表内容变化

上面箭头是没有设置my.cnf时的,下面是设置完my.cnf并重启后的。

可以通过show master status命令查看当前正在写入的binlog日志状态。

如何监听mysql表内容变化

还有如下命令:

刷新binlog日志文件  flush logs #刷新之后会新建一个新的binlog日志。

清空日志文件 reset master。

查看第一个binlog文件的内容 show binlog events

查看指定binlog文件的内容 show binlog events in 'mysql-bin.000004'

获取binlog文件列表 show binary logs

只有了binlog,那还是不够的,我们还需要一个监听binlog的工具。下一篇来看canal

以上是“如何监听mysql表内容变化”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网数据库频道!

您可能感兴趣的文档:

--结束END--

本文标题: 如何监听mysql表内容变化

本文链接: https://www.lsjlt.com/news/57711.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 如何监听mysql表内容变化
    这篇文章主要为大家展示了“如何监听mysql表内容变化”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何监听mysql表内容变化”这篇文章吧。前言binlog ...
    99+
    2024-04-02
  • Android 之 监听 EditText 的内容变化
    本节引言: 在前面我们已经学过EditText控件了,本节来说下如何监听输入框的内容变化! 这个再实际开发中非常实用,另外,附带着说下如何实现EditText的密码可见与不可见! 1.监听EditText的内容变化 由题可知,是基于监...
    99+
    2023-08-31
    android java android studio
  • sqlserver怎么监听表变化
    在SQL Server中,可以使用触发器(Trigger)来监听表的变化。触发器是一种特殊的存储过程,它会在表中的数据发生变化时自动...
    99+
    2024-04-09
    sqlserver
  • AngularJS如何监听路由变化
    这篇文章将为大家详细讲解有关AngularJS如何监听路由变化,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。使用AngularJS时,当路由发生改变时,我们需要做某些处理...
    99+
    2024-04-02
  • jquery如何监听元素变化
    在jquery中监听元素变化的方法:1.新建html项目,引入jquery;2.创建div标签,设置id属性;3.使用change事件监听元素变化;具体步骤如下:首先,在新建一个html项目,在项目中引入jquery;<script ...
    99+
    2024-04-02
  • 如何通过Java监听MySQL数据的变化
    目录原理开启MySQL的binlog功能Java监听MySQL的binlog实现监听数据变化总结原理 原理:java通过bin-log监控mysql数据变化 binlog :binl...
    99+
    2023-03-14
    java监听mysql数据表变化 java监听数据库变化 监听mysql数据变化
  • mysql怎么监听数据变化
    MySQL本身并没有提供直接监听数据变化的功能。但是可以通过以下几种方式来实现数据变化的监听: 使用触发器(Trigger):可...
    99+
    2024-04-09
    mysql
  • php如何监听数据库变化
    要监听数据库的变化,可以使用以下两种方法:1. 轮询:在应用程序中设置一个定时器,定期查询数据库以检查是否有变化。可以使用定时器函数...
    99+
    2023-09-09
    php 数据库
  • 如何使用watch监听路由变化和watch监听对象
    这篇文章主要介绍了如何使用watch监听路由变化和watch监听对象,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。一、watch监听路由变化...
    99+
    2024-04-02
  • vue如何用watch监听数据变化
    这篇文章主要介绍“vue如何用watch监听数据变化”,在日常操作中,相信很多人在vue如何用watch监听数据变化问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”vue如何用watch监听数据变化”的疑惑有所...
    99+
    2023-07-04
  • Python监控文件内容变化
    利用seek监控文件内容,并打印出变化内容:#/usr/bin/env python #-*- coding=utf-8 -*- pos = 0 while True:     con = open("a.txt")   if pos !...
    99+
    2023-01-31
    文件 内容 Python
  • JavaScript如何监听用户复制内容
    这篇文章主要讲解了“JavaScript如何监听用户复制内容”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“JavaScript如何监听用户复制内容”吧! ...
    99+
    2024-04-02
  • vue如何监听屏幕尺寸变化
    在vue中监听屏幕尺寸变化的方法:1.新建项目,引入vue;2.定义data值,记录屏幕尺寸;3.使用window.onresize方法获取屏幕尺寸;4.使用watch方法实时监听屏幕尺寸;具体步骤如下:首先,新建一个html项目,并在项目...
    99+
    2024-04-02
  • vuex如何用state监听数组变化
    这篇文章主要介绍了vuex如何用state监听数组变化的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇vuex如何用state监听数组变化文章都会有所收获,下面我们一起来看看吧。代码如下:import ...
    99+
    2023-07-04
  • 通过Java监听MySQL数据的变化
    文章目录 实现Java监听MySQL数据是否发生变化原理开启MySQL的binlog功能Java监听MySQL的binlog实现监听数据变化 实现Java监听MySQL数据是否发生变化 原理 原理:java通过bin-...
    99+
    2023-08-19
    1024程序员节 java mysql
  • Android如何监测文件夹内容变化详解
    目录一. 概述:二. 监听的事件类型:三.实例总结一. 概述: android.os包下的FileObserver类是一个用于监听文件访问、创建、修改、删除、移动等操作的监听器,基于...
    99+
    2024-04-02
  • python怎么监听数据库表的变化
    在Python中,可以使用数据库的触发器(trigger)来监听数据库表的变化。触发器是一段在特定事件(例如插入、更新、删除等)发生...
    99+
    2023-09-09
    python 数据库
  • vue如何监听变量
    在vue中监听变量的方法:1.新建项目,引入vue;2.定义监听对象;3.使用watch方法监听对象中的变量;具体步骤如下:首先,新建一个html项目,并在项目中引入vue;import Vue from 'vue'引入vue后,在项目中定...
    99+
    2024-04-02
  • elementUi vue el-radio如何监听选中变化
    这篇文章主要介绍了elementUi vue el-radio如何监听选中变化,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。elementU...
    99+
    2024-04-02
  • 如何在Android中监听音量的变化
    这篇文章给大家介绍如何在Android中监听音量的变化,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。Android是什么Android是一种基于Linux内核的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机...
    99+
    2023-06-15
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作