MySQL-快速入门(13)MySQL日志

1、MySQL的日志。主要分为4类。

  1》二进制日志:记录所有更改数据的语句,可以用于数据复制。

  2》错误日志:记录MySQL服务的启动、运行、停止MySQL服务时出现的问题。

  3》查询日志:记录建立的客户端连接和执行的语句。

  4》慢查询日志:记录所有执行时间超过long_query_time的所有查询或不使用索引的查询。

  当执行一个flush logs语句或执行MySQLadmin flush-logs或MySQLadmin refresh时,将刷新日志。

  启动日志功能会降低MySQL数据库的性能。如在查询非常频繁的MySQL数据库系统中,如果开启了通用查询日志和慢查询日志,MySQL数据库会花费很多的时间记录日志,同时,日志会占用大量的磁盘空间。

2、二进制日志:只要记录MySQL数据库变化。

  1》启动和设置二进制日志

二进制日志默认是关闭的
my.ini中[MySQLd]组下关于二进制日志的设置: log-bin [=path/ [filename]] expire_logs_days=10 max_binlog_size=100M

   2》查看二进制日志

//查看二进制日志文件个数及文件名
show binary logs;

//查看二进制日志文件的内容
MySQLbinlog  filename.0000001

   3》删除二进制日志

MySQL二进制日志文件可以配置自动删除。同时也提供了手动删除的方法:
1、使用reset master语句删除所有二进制日志文件
reset master;

2、使用purge master logs语句删除指定日志文件
purge {master | binary} logs to 'log_name'   --删除文件名编号比指定文件名编号小的所有日志
purge {master | binary} logs before 'date'   --删除指定日期以前的所有日志

   4》使用二进制日志恢复数据库

--使用MySQLbinlog恢复数据
mysqlbinlog [option] filename |mysql -u user -p pwd

option:
--start-date和--stop-date=>指定恢复数据库的起始时间点、结束时间点
--start-position和--stop-position=>指定恢复数据的起始位置、结束位置

   5》暂时停止二进制日志功能

set sql_log_bin={0 | 1}

3、错误日志

   包含了当MySQLd启动和停止、以及服务器在运行过程中发生任何严重错误时的相关信息。默认记录错误日志到数据库目录下,如果没有配置文件的名字,默认为hostname.err。执行flush logs,错误日志文件会被重新加载。

   1》启动和设置错误日志

     错误日志的启动和停止以及指定日志文件名,都可以通过修改my.ini(或mycnf)来配置。错误日志配置项为log-error。在[MySQLd]下配置log-error,则启动错误日志。

[mysqld]
log-error=[path / [file_name]]

   2》查看错误日志:日志以文本文件的形式保存

mysql> show variables like 'log_error';
+---------------+--------------+
| Variable_name | Value        |
+---------------+--------------+
| log_error     | .\LFY-PC.err |
+---------------+--------------+
1 row in set, 1 warning (0.00 sec)

mysql>

   3》删除错误日志

手动删除运行状态下错误日志,MySQL并不会自动创建日志文件。flush logs在重新加载日志的时候,如果文件不存在,则会自动创建
mysqladmin -u user -p flush-logs

或者
mysql>flush logs;

4、通用查询日志

5、慢查询日志

猜你喜欢

转载自www.cnblogs.com/ZeroMZ/p/11486095.html
今日推荐