何时,如何开启 MySql 日志

何时,如何开启 MySql 日志,第1张

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=

方法/步骤

1、首先,登陆mysql后,执行sql语句:

show

variables

like

'log_bin'

查看是否日志开启,详细结果如图:

2、#错误日志

log-error

开启方式:

在my.ini的[mysqld]选项下:

添加代码:

log-error=E:\log-error.txt

记录内容:

主要是记录启动、运行或停止mysqld时出现的致命性问题,都是系统级的错误记录如图:

3、#查询日志

log

开启方式:

在my.ini的[mysqld]选项下:

添加代码:

log=E:/mysql_log.txt

记录内容:

主要是记录数据库建立的客户端连接和执行的语句如图:

4、#二进制日志

log-bin

开启方式:

在my.ini的[mysqld]选项下:

添加代码:

log-bin=E:/mysql_log_bin

记录内容:

主要是记录所有的更改数据的语句,可使用mysqlbinlog命令恢复数据。如图:

#慢日志

log-slow-queries

开启方式:

在my.ini的[mysqld]选项下:

添加代码:

long_query_time

=1

(设定慢查询的标准,单位是s/秒)

log-slow-queries=

E:/mysql_log_slow.txt

记录内容:

主要是记录所有执行时间超过long_query_time的查询或没有使用索引的查询如图:

以上就是专题栏小编带来的mysql中文版教程,更多教程请看“http://www.zhuantilan.com/zt/mysql/”


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/8624674.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-19
下一篇 2023-04-19

发表评论

登录后才能评论

评论列表(0条)

保存