mysql数据库数据变化实时监控

ringa_lee
ringa_lee 原创
2019-02-22 15:16:56 9687浏览

mysql数据库数据变化实时监控

相关mysql视频教程推荐:《mysql教程

Warning : fopen(/home1/vhost/vh499565/www/blog/wp-content/plugins/devformatter/geshi/geshi/mysql.php) [function.fopen]: failed to open stream: No such file or directory in /home1/vhost/vh499565/www/www_shaozhuqing/wp-content/plugins/devfor
Warning:  fopen(/home1/vhost/vh499565/www/blog/wp-content/plugins/devformatter/geshi/geshi/mysql.php) [function.fopen]: failed to open stream: No such file or directory in /home1/vhost/vh499565/www/www_shaozhuqing/wp-content/plugins/devformatter/devgeshi.php on line 103Warning:  fopen(/home1/vhost/vh499565/www/blog/wp-content/plugins/devformatter/geshi/geshi/mysql.php) [function.fopen]: failed to open stream: No such file or directory in /home1/vhost/vh499565/www/www_shaozhuqing/wp-content/plugins/devformatter/devgeshi.php on line 103Warning:  fopen(/home1/vhost/vh499565/www/blog/wp-content/plugins/devformatter/geshi/geshi/mysql.php) [function.fopen]: failed to open stream: No such file or directory in /home1/vhost/vh499565/www/www_shaozhuqing/wp-content/plugins/devformatter/devgeshi.php on line 103Warning:  fopen(/home1/vhost/vh499565/www/blog/wp-content/plugins/devformatter/geshi/geshi/mysql.php) [function.fopen]: failed to open stream: No such file or directory in /home1/vhost/vh499565/www/www_shaozhuqing/wp-content/plugins/devformatter/devgeshi.php on line 103

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

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

2、在数据库的最后一行添加 log=log.txt 代码

3、重启mysql数据库

4、去数据库数据目录 我的是(D:\MYSQL\data) 你会发现多了一个log.txt文件 我的是在C:\Documents and Settings\All Users\Application Data\MySQL\MySQL Server 5.5\data

测试:

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 variables like '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; 至于准确的看懂日志文件,还需要读者仔细阅读,深深体会,这里就不再奥述了!

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。