这篇文章主要介绍了mysql日志设置及查看方法,需要的朋友可以参考下
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]选项启动,不推荐使用.
是否启用了日志
mysql>show variables like ‘log_%’;
怎样知道当前的日志
mysql> show master status;
显示二进制日志数目
mysql> show master logs;
看二进制日志文件用mysqlbinlog
shell>mysqlbinlog mail-bin.000001
或者shell>mysqlbinlog mail-bin.000001 | tail
在配置文件中指定log的输出位置.
Windows:Windows 的配置文件为 my.ini,一般在 MySQL 的安装目录下或者 c:Windows 下。
Linux:Linux 的配置文件为 my.cnf ,一般在 /etc 下。
在linux下:
Sql代码
# 在[mysqld] 中输入#loglog-error=/usr/local/mysql/log/error.loglog=/usr/local/mysql/log/mysql.loglong_query_time=2log-slow-queries= /usr/local/mysql/log/slowquery.log# 在[mysqld] 中输入 #loglog-error=/usr/local/mysql/log/error.loglog=/usr/local/mysql/log/mysql.loglong_query_time=2log-slow-queries= /usr/local/mysql/log/slowquery.log
登录后复制
windows下:
Sql代码# 在[mysqld] 中输入#loglog-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=2log-slow-queries= "E:/PROGRA~1/EASYPH~1.0B1/mysql/logs/slowquery.log"# 在[mysqld] 中输入 #loglog-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=2log-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下来没有使用索引的querylog=mylog.log --对所有执行语句进行记录windows下开启mysql日志:在[mysql]下加入这些(基本上等于加在最后面):log-error=#Enter a 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=
登录后复制
以上就是MySQL中关于日志设置以及查看的方法介绍的详细内容,更多请关注【创想鸟】其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。
发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/1631005.html