java监听mysql_java实时监控mysql数据库变化
对于二次开发来说,很大一部分就找找文件和找数据库的变化情况
对于数据库变化。还没有发现比较好用的监控数据库变化监控软件。
今天,我就给大家介绍一个如何使用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数据库变化相关推荐
- 怎么监控mysql数据变化_实时监控mysql数据库变化
对于二次开发来说,很大一部分就找找文件和找数据库的变化情况 对于数据库变化.还没有发现比较好用的监控数据库变化监控软件. 今天,我就给大家介绍一个如何使用mysql自带的功能监控数据库变化 1.打开数 ...
- 监控mysql数据库 更新_实时监控mysql数据库变化
对于二次开发来说,很大一部分就找找文件和找数据库的变化情况 对于数据库变化.还没有发现比较好用的监控数据库变化监控软件. 今天,我就给大家介绍一个如何使用mysql自带的功能监控数据库变化 1.打开数 ...
- 实时监控Mysql数据库变化_进行数据同步_了解Canal_---Canal工作笔记001
1.Canal是阿里巴巴旗下的一款开源项目,纯Java开发. 2.由来:阿里巴巴B2B公司,因为业务的特性,卖家主要集中在国内,买家主要集中在国外,所以衍生出了杭州和美国异地机房的需求,从2010年开 ...
- 通过JMS监听Oracle AQ,在数据库变化时触发执行Java程序
环境说明 一Oracle高级消息队列AQ 创建消息负荷payload 创建队列表 创建队列并启动 队列的停止和删除 入队消息 出队消息 二Java使用JMS监听并处理Oracle AQ队列 创建连接参 ...
- java监听oracle aq,透过JMS监听Oracle AQ,在数据库变化时触发执行Java程序
环境说明 一Oracle高级消息队列AQ创建消息负荷payload 创建队列表 创建队列并启动 队列的停止和删除 入队消息 出队消息 二Java使用JMS监听并处理Oracle AQ队列创建连接参数类 ...
- 大数据实时监控mysql数据库binlog(一)
MySQL之binlog 参考连接:https://www.cnblogs.com/xhyan/p/6530861.html.https://www.cnblogs.com/martinzhang/p ...
- Canal实时监控mysql数据库
1. canal原理概述 1.1 mysql的主从复制原理1.1.1 mysql master将数据变更写入二进制日志(binlog,其中记录叫二进制日志事件,可通过show binlog event ...
- java 序列化 写入mysql_java 序列化到mysql数据库中
使用hibernate跟数据库打交道 hibernate配置文件如下 /p> "-//Hibernate/Hibernate Configuration DTD 3.0//EN&quo ...
- Java监听mysql的binlog详解(mysql-binlog-connector)
Java监听mysql的binlog详解(mysql-binlog-connector) 1. 需求概述 2. 技术选型 3. 方案设计 3.环境准备 3.1 查看是否开启binlog 3.2 mys ...
最新文章
- 【hdu4281状态压缩+01背包+多旅行商问题】
- 用wget循环获取指定url下的文件
- python3爬虫(2)下载有固定链接的视频
- Mac Ubuntu ----端口被占用
- 用HTML做一个简单的web登录页面,简单的JavaWeb注册登录案例
- 【英语学习】【Level 07】U07 Stories of my Life L6 An experience worth remembering
- c语言不借助其他变量交换a b的值,C++面试题之数a、b的值互换(不使用中间变量)...
- Python访问PostGIS(建表、空间索引、分区表)
- 我们要有把坏事看成好事的能力
- 安卓帧数监测软件_还在用游戏加加看帧数?驴哥教你怎么用微星小飞机的硬件监测功能...
- Visual Studio 2019安装MFC开发工具包
- 在Carmaker中建立自己的交通环境
- 高数篇(二)-- 傅里叶变换 VS 拉普拉斯变换
- Android 微信H5支付,无法拉起微信支付页面
- AD14、20使用技巧学习记录
- python读取tif图片_在Python中读取TIFF图像元数据
- SQL Server数据定义——模式与基本表操作
- 腾讯地图Api 实现拾取坐标功能示例
- mes项目 组态开发项目reademe文档 待整理
- PLC程序的调试方法及步骤
热门文章
- Unity粒子系统创建VFX游戏特效学习教程 Visual Effects in Unity Particle Systems [Beginner’s Guide]
- leetcode-225 队列实现栈
- java中xxe漏洞修复方法
- 邮箱验证功能原理 语法 属性
- window resize和scroll事件的基本优化
- [转载]oracle索引的简单总结
- 兼容Silverlight4的实用的Silverlight可拖放工具类源代码
- tcpdump抓包并保存到远程服务器
- Java生成html为pdf
- Linux环境编译安装Mysql以及PHP中文乱码解决