对于二次开发来说,很大一部分就找找文件和找数据库的变化情况

对于数据库变化。还没有发现比较好用的监控数据库变化监控软件。

今天,我就给大家介绍一个如何使用mysql自带的功能监控数据库变化

1、打开数据库配置文件my.ini (一般在数据库安装目录)(D:MYSQL)

2、在数据库的最后一行添加

log=log.txt

3、重启mysql数据库

4、去数据库数据目录 我的是(D:MYSQLdata) 你会发现多了一个log.txt文件

我的是在C:Documents and SettingsAll UsersApplication DataMySQLMySQL Server 5.5data

测试:

1、对数据库操作

2、查看log.txt文件内容 如果发现有变化说明你就可以监控到mysql数据库的变化

数据库的查询 删除 更新 插入都可以查到

希望本篇文章可以帮助大家更快的二次开发 ^_^

日志文件类型概述:

1.

错误日志 记录启动、运行或停止mysqld时出现的问题。

My.ini配置信息:

#Enter a name for the error log file. Otherwise a default name will be used.

#log-error=d:/mysql_log_err.txt

2.

查询日志 记录建立的客户端连接和执行的语句。

My.ini配置信息:

#Enter a name for the query log file. Otherwise a default name will be used.

#log=d:/mysql_log.txt

3.

更新日志 记录更改数据的语句。不赞成使用该日志。

My.ini配置信息:

#Enter a name for the update log file. Otherwise a default name will be used.

#log-update=d:/mysql_log_update.txt

4.

二进制日志 记录所有更改数据的语句。还用于复制。

My.ini配置信息:

#Enter a name for the binary log. Otherwise a default name will be used.

#log-bin=d:/mysql_log_bin

5.

慢日志 记录所有执行时间超过long_query_time秒的所有查询或不使用索引的查询。

My.ini配置信息:

#Enter a name for the slow query log file. Otherwise a default name will be used.

#long_query_time =1

#log-slow-queries= d:/mysql_log_slow.txt

在linux下:

Sql代码

1. # 在[mysqld] 中输入

2. #log

3. log-error=/usr/local/mysql/log/error.log

4. log=/usr/local/mysql/log/mysql.log

5. long_query_time=2

6. log-slow-queries= /usr/local/mysql/log/slowquery.log

# 在[mysqld] 中输入 #log log-error=/usr/local/mysql/log/error.log log=/usr/local/mysql/log/mysql.log long_query_time=2 log-slow-queries= /usr/local/mysql/log/slowquery.log

windows下:

Sql代码

1. # 在[mysqld] 中输入

2. #log

3. log-error="E:/PROGRA~1/EASYPH~1.0B1/mysql/logs/error.log"

4. log="E:/PROGRA~1/EASYPH~1.0B1/mysql/logs/mysql.log"

5. long_query_time=2

6. log-slow-queries= "E:/PROGRA~1/EASYPH~1.0B1/mysql/logs/slowquery.log"

# 在[mysqld] 中输入 #log log-error="E:/PROGRA~1/EASYPH~1.0B1/mysql/logs/error.log" log="E:/PROGRA~1/EASYPH~1.0B1/mysql/logs/mysql.log" long_query_time=2 log-slow-queries= "E:/PROGRA~1/EASYPH~1.0B1/mysql/logs/slowquery.log"

开启慢查询

long_query_time =2 --是指执行超过多久的sql会被log下来,这里是2秒

log-slow-queries= /usr/local/mysql/log/slowquery.log --将查询返回较慢的语句进行记录

log-queries-not-using-indexes = nouseindex.log --就是字面意思,log下来没有使用索引的query

log=mylog.log --对所有执行语句进行记录

日志的存放:默认情况下,当开启时,所有的日志都存放在DataDir目录下. 如果没有指定名称的话,它会以后主机名为名称. 如主机名为songcomputer,则相关就的日志为songcomputer.log文件.

Mysql日志的关闭与开启:

使用以下命令查看是否启用了日志

mysql>show variableslike'log_%’;

凡Value值为OFF的表示未开启服务,若要开启只需要将上的my.ini配置信息写入(my.ini为mysql安装目录下),然后去掉前面的“#”

号,再重启mysql服务。OK,现在会看到指定的日志文件已创建。相反地,若要停止mysql日志服务,只需要将my.ini中对应的配置信息去掉即

可。

>>>>相应的使用慢日志查询

手动的去读取慢日志以及修改慢日志的时间

show variables like 'long%'

会得到慢日志的时间

进行设置慢日志的值

set long_query_time=2;

侧重的二进制文件

二进制日志:

从概述中我可以看到my.ini配置信息的log-bin没有指定文件扩展名,这是因为即使你指定上扩展名它也不使用。当mysql创建二进制日志文件

时,首先创建一个以“mysql_log_bin”为名称,以“.index”为后缀的文件;再创建一个以“mysql_log_bin”为名称,以

“.000001”为后缀的文件。当mysql服务重新启动一次以“.000001”为后缀的文件会增加一个,并且后缀名加1递增;如果日志长度超过了

max_binlog_size的上限(默认是1G)也会创建一个新的日志文件;使用flush

logs(mysql命令符)或者执行mysqladmin –u –p flush-logs(windows命令提示符)也会创建一个新的日志文件。

既然写入的都是二进制数据,用记事本打开文件是看不到正常数据的,那怎么查看呢?

使用BIN目录下mysqlbinlog命令,如:

Bin>mysqlbinlog d:/mysql_log/mysql_bin.000001

Bin>mysqlbinlog d:/mysql_log/mysql_bin.000002

Bin>mysqlbinlog d:/mysql_log/mysql_bin.000003

Bin>mysqlbinlog d:/mysql_log/mysql_bin.000004

Bin>mysqlbinlog d:/mysql_log/mysql_bin.000005

使用SQL语句也可查看mysql创建的二进制的文件目录:

Mysql> show master logs;

查看当前二进制文件状态:

mysql> show master status;

至于准确的看懂日志文件,还需要读者仔细阅读,深深体会,这里就不再奥述了!

以上就是java实时监控mysql数据库变化的全部内容。

java监听mysql_java实时监控mysql数据库变化相关推荐

  1. 怎么监控mysql数据变化_实时监控mysql数据库变化

    对于二次开发来说,很大一部分就找找文件和找数据库的变化情况 对于数据库变化.还没有发现比较好用的监控数据库变化监控软件. 今天,我就给大家介绍一个如何使用mysql自带的功能监控数据库变化 1.打开数 ...

  2. 监控mysql数据库 更新_实时监控mysql数据库变化

    对于二次开发来说,很大一部分就找找文件和找数据库的变化情况 对于数据库变化.还没有发现比较好用的监控数据库变化监控软件. 今天,我就给大家介绍一个如何使用mysql自带的功能监控数据库变化 1.打开数 ...

  3. 实时监控Mysql数据库变化_进行数据同步_了解Canal_---Canal工作笔记001

    1.Canal是阿里巴巴旗下的一款开源项目,纯Java开发. 2.由来:阿里巴巴B2B公司,因为业务的特性,卖家主要集中在国内,买家主要集中在国外,所以衍生出了杭州和美国异地机房的需求,从2010年开 ...

  4. 通过JMS监听Oracle AQ,在数据库变化时触发执行Java程序

    环境说明 一Oracle高级消息队列AQ 创建消息负荷payload 创建队列表 创建队列并启动 队列的停止和删除 入队消息 出队消息 二Java使用JMS监听并处理Oracle AQ队列 创建连接参 ...

  5. java监听oracle aq,透过JMS监听Oracle AQ,在数据库变化时触发执行Java程序

    环境说明 一Oracle高级消息队列AQ创建消息负荷payload 创建队列表 创建队列并启动 队列的停止和删除 入队消息 出队消息 二Java使用JMS监听并处理Oracle AQ队列创建连接参数类 ...

  6. 大数据实时监控mysql数据库binlog(一)

    MySQL之binlog 参考连接:https://www.cnblogs.com/xhyan/p/6530861.html.https://www.cnblogs.com/martinzhang/p ...

  7. Canal实时监控mysql数据库

    1. canal原理概述 1.1 mysql的主从复制原理1.1.1 mysql master将数据变更写入二进制日志(binlog,其中记录叫二进制日志事件,可通过show binlog event ...

  8. java 序列化 写入mysql_java 序列化到mysql数据库中

    使用hibernate跟数据库打交道 hibernate配置文件如下 /p> "-//Hibernate/Hibernate Configuration DTD 3.0//EN&quo ...

  9. Java监听mysql的binlog详解(mysql-binlog-connector)

    Java监听mysql的binlog详解(mysql-binlog-connector) 1. 需求概述 2. 技术选型 3. 方案设计 3.环境准备 3.1 查看是否开启binlog 3.2 mys ...

最新文章

  1. 【hdu4281状态压缩+01背包+多旅行商问题】
  2. 用wget循环获取指定url下的文件
  3. python3爬虫(2)下载有固定链接的视频
  4. Mac Ubuntu ----端口被占用
  5. 用HTML做一个简单的web登录页面,简单的JavaWeb注册登录案例
  6. 【英语学习】【Level 07】U07 Stories of my Life L6 An experience worth remembering
  7. c语言不借助其他变量交换a b的值,C++面试题之数a、b的值互换(不使用中间变量)...
  8. Python访问PostGIS(建表、空间索引、分区表)
  9. 我们要有把坏事看成好事的能力
  10. 安卓帧数监测软件_还在用游戏加加看帧数?驴哥教你怎么用微星小飞机的硬件监测功能...
  11. Visual Studio 2019安装MFC开发工具包
  12. 在Carmaker中建立自己的交通环境
  13. 高数篇(二)-- 傅里叶变换 VS 拉普拉斯变换
  14. Android 微信H5支付,无法拉起微信支付页面
  15. AD14、20使用技巧学习记录
  16. python读取tif图片_在Python中读取TIFF图像元数据
  17. SQL Server数据定义——模式与基本表操作
  18. 腾讯地图Api 实现拾取坐标功能示例
  19. mes项目 组态开发项目reademe文档 待整理
  20. PLC程序的调试方法及步骤

热门文章

  1. Unity粒子系统创建VFX游戏特效学习教程 Visual Effects in Unity Particle Systems [Beginner’s Guide]
  2. leetcode-225 队列实现栈
  3. java中xxe漏洞修复方法
  4. 邮箱验证功能原理 语法 属性
  5. window resize和scroll事件的基本优化
  6. [转载]oracle索引的简单总结
  7. 兼容Silverlight4的实用的Silverlight可拖放工具类源代码
  8. tcpdump抓包并保存到远程服务器
  9. Java生成html为pdf
  10. Linux环境编译安装Mysql以及PHP中文乱码解决