• 售前

  • 售后

热门帖子
入门百科

MySQL日志设置及检察方法

[复制链接]
单色不单叼 显示全部楼层 发表于 2021-10-25 19:20:18 |阅读模式 打印 上一主题 下一主题
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] 中输入
#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=
#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=

帖子地址: 

回复

使用道具 举报

分享
推广
火星云矿 | 预约S19Pro,享500抵1000!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

草根技术分享(草根吧)是全球知名中文IT技术交流平台,创建于2021年,包含原创博客、精品问答、职业培训、技术社区、资源下载等产品服务,提供原创、优质、完整内容的专业IT技术开发社区。
  • 官方手机版

  • 微信公众号

  • 商务合作