mysql 日志的启动与查看:有利于开发者研究网站一个页面执行时的sql语句变化…

mysql 日志的启动与查看:有利于开发者研究网站一个页面执行时的sql语句变化…

当我们研究一个网站的时候,比如phpwind系统,我需要知道当发表帖子的时候mysql执行了哪些查询和更新和插入呢?

有个方法可以给我我们,那就是开启mysql的日志 查询日志: -log 即可解决。

如何做了?以WampServer Version 2.2为例子

打开安装目录下的:\wamp\bin\mysql\mysql5.5.24\my.ini

找到如下

log-error=E:/wamp/logs/mysql.log

在它下面增加

log=E:/wamp/logs/mysql-log.log

好了,重启mysql。

接着执行访问一次准备好的phpwind页面,然后查看下E:/wamp/logs/mysql-log.log(直接用编辑工具打开,例如记事本),即可查看到本次访问,mysql执行了哪些sql语句(查询+更新+插入)

好了,以下内容转自强大的互联网

本人网站:http://www.xinhuiyi.com/ 新回忆社区 如果您也是使用phpwind程序,且有一定的经验和研究,欢迎一起探讨

mysql有以下几种日志:

错误日志: -log-err

查询日志: -log

慢查询日志:  -log-slow-queries

更新日志:  -log-update

二进制日志: -log-bin

默 认情况下,所有日志创建于mysqld数据目录中。通过刷新日志,你可以强制 mysqld来关闭和重新打开日志文件(或者在某些情况下切换到一个新的日志)。当你执行一个FLUSH LOGS语句或执行mysqladmin flush-logs或mysqladmin refresh时,出现日志刷新

1. 错误日志

用–log- error[=file_name]选项来指定mysqld保存错误日志文件的位置。如果没有给定file_name值,mysqld使用错误日志名 host_name.err 并在数据目录中写入日志文件。如果你执行FLUSH LOGS,错误日志用-old重新命名后缀并且mysqld创建一个新的空日志文件。(如果未给出–log-error选项,则不会重新命名)。

如果不指定–log-error,或者(在Windows中)如果你使用–console选项,错误被写入标准错误输出stderr。通常标准输出为你的终端。

2. 通用查询日志                                                            

用–log[=file_name]或-l [file_name]选项启动它。如果没有给定file_name的值,默认名是host_name.log。

3. 慢速查询日志                                                            

用–log-slow-queries[=file_name]选项启动时,mysqld 写一个包含所有执行时间超过long_query_time秒的SQL语句的日志文件.如果没有给出file_name值,默认未主机名,后缀为 -slow.log。如果给出了文件名,但不是绝对路径名,文件则写入数据目录。

3. 更新日志                                                              

用–log-update[=file_name]选项启动,不推荐使用.

是否启用了日志

show variables like 'log_%';

怎样知道当前的日志

show master status;

顯示二進制日志數目

show master logs;

看二进制日志文件用mysqlbinlog

mysqlbinlog mail-bin.000001

或者

mysqlbinlog mail-bin.000001 | tail

在配置文件中指定log的輸出位置.

Windows:Windows 的配置文件为
my.ini,一般在 MySQL 的安装目录下或者
c:\Windows 下。

Linux:Linux 的配置文件为
my.cnf ,一般在
/etc 下。

在linux下:

Sql代码

# 在[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

# 在[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代码

# 在[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"

# 在[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 –对所有执行语句进行记录

windows下开启mysql日志:

在[mysql]下加入这些(基本上等于加在最后面):

log-error= name for the query log file. Otherwise a default name will be used. #注:(写成txt文件editplus可以及时重载,不过有时要放在C盘下editplus才可以及时重载) log= c:/mysql_query.log.txt #Enter a name for the slow query log file. Otherwise a default name will be used. log-slow-queries= #Enter a name for the update log file. Otherwise a default name will be used. log-update= #Enter a name for the binary log. Otherwise a default name will be used. log-bin=

转载于:https://my.oschina.net/u/205403/blog/85155

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/110296.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • 体验云计算的成果—-亚马逊免费云计算服务

    体验云计算的成果—-亚马逊免费云计算服务

  • pip 安装与卸载软件包[通俗易懂]

    pip 安装与卸载软件包[通俗易懂]$pip2installxxx$pip2unstallxxx

    2022年10月16日
  • 成功鲜有偶然:一览IT名人的教育成长经历

    成功鲜有偶然:一览IT名人的教育成长经历由于篇幅有限,只列举受公共认知度较高的创始人(百度百科对应人物词条被顶超过1000次)国内三强:李彦宏(百度创始人):本科就读于北京大学,硕士就读于布法罗纽约州立大学。曾任Infoseek工程师。马云(阿里巴巴创始人):本科就读于杭州师范学院。马化腾(腾讯创始人):本科就读于深圳大学。大三门户网站:王志东(新浪创始人):本科就读于北京大学,点击科技创始人。丁磊(网易创始人):本科就读于电子科

  • delphi xe5 激活成功教程

    delphi xe5 激活成功教程通过测试可用,RADStudioXE5激活成功教程补丁及方法第一步,将下载下来的“delphicbuilder_xe5_win.iso”解压到任意盘,任意目录。http://altd.embarcadero.com/download/radstudio/xe5/delphicbuilder_xe5_win.iso第二步,将“免序列号安装授权文件”文件夹中的“RADS

  • QTcpSocket – client[通俗易懂]

    QTcpSocket – client[通俗易懂]#include”mainwindow.h”#include”ui_clientWindow.h”#include<QMessageBox>#include<QDateTime>MainWindow::MainWindow(QWidget*parent):QMainWindow(parent),ui(newUi::clientW…

  • java类的加载_Java高并发实战

    java类的加载_Java高并发实战【版权申明】未经博主同意,谢绝转载!(请尊重原创,博主保留追究权)http://blog.csdn.net/javazejian/article/details/73413292出自【zejian的博客】关联文章:深入理解Java类型信息(Class对象)与反射机制深入理解Java枚举类型(enum)深入理解Java注解类型(@Annotation)深入理解

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号