MySQL(13):MySQL日志

日志简介

MySQL日志主要分为4类:

  • 错误日志:记录MySQL服务的启动、运行或停止MySQL服务时出现的问题。
  • 查询日志:记录建立的客户端连接和执行的语句。
  • 二进制日志:记录所有更改数据的语句,可用于数据复制。
  • 慢查询日志:记录所有执行时间超过long_query_time的所有查询或不使用索引的查询。

二进制日志

启动和设置二进制日志

my.ini中[mysql]组下面有几个设置是关于二进制日志的:

log-bin [=path/ [filename]]

exprie_logs_days = 10

max_binlog_size = 100M

查看二进制日志

SHOW BINARY LOGS语句可以查看当前的二进制日志文件个数及其文件名。可以通过mysqlbinlog命令查看日志内容。

删除二进制日志

删除所有二进制日志文件:

RESET MASTER

 删除指定日志文件:

PURGE {MASTER|BINARY} LOGS TO 'log_name'

PURGE {MASTER|BINARY} LOGS BEFORE 'date'

使用二进制日志还原数据库

mysqlbinlog [option] filename |mysql -uuser -ppass

option是一些可选的选项,比较重要的两对option参数是--start-date、--stop-date、--start-position、--stop-position。

暂时停止二进制日志功能

修改配置文件,可以停止二进制日志,但是需要重启MySQL服务器。

还可以使用下面命令暂时停止:

SET sql_log_bin = {0|1}

0为暂停,1为恢复。

 

错误日志

启动和设置错误日志

[mysqld]

log-errror=[path/[file_name]]

如果没有指定文件名,默认为hostname.err。如果执行了FLUSH LOGS,错误日志文件会重新加载。

查看错误日志

 SHOW VARIABLES LIKE ‘log_error’;

删除错误日志

mysqladmin -u root -p flush-logs

或者

flush logs; 

通用查询日志

[mysqld]

log[=path / [filename]] 

默认储存在MySQL数据目录中的hostname.log中

慢查询日志

[mysqld]

log-slow-queries[=path / [filename]]

long_query_time=n

猜你喜欢

转载自blog.csdn.net/a617976080/article/details/85853131