mysql日志类别及使用

my.ini里面可以找到

  1. # 在[mysqld] 中輸入
   2. #log
   3. log-error=/usr/local/mysql/log/error.log
   4. log=/usr/local/mysql/log/mysql.log
   5. long_query_time=2
   6. log-slow-queries= /usr/local/mysql/log/slowquery.log
分别对应每一种日志以及存放日志的路径。

有以下几种日志

   错误日志:     -log-err
   查询日志:     -log
   慢查询日志:   -log-slow-queries
   更新日志:     -log-update
   二进制日志: -log-bin
是否启用了日志
mysql>show variables like 'log_%';

怎样知道当前的日志
mysql> show master status;

顯示二進制日志數目
mysql> show master logs;

看二进制日志文件用mysqlbinlog
mysqlbinlog mail-bin.000001

需要注意:

默认情况下mysql不会记录慢查询日志。
在my.ini中加上下面两句话
log-slow-queries = D:\wamp\mysql_slow_query.log
long_query_time=默认为10可以
set ‘long_query_time’=5设置。执行耗时sql语句时,慢查询日志会记录这些sql语句。

执行增量备份时,对ddl和dml语句进行二进制备份。且5.0无法增量备份,5.1后可以。
如果要实现增量备份需要在my.ini文件中配置备份路径即[mysqld]下的log-bin='d:/log/mylog'
重启mysql服务器,增量备份就启动了。
会在指定目录下生成两个文件mylog.index记录索引,mylog.000001就是记录二进制的详细信息

如果要查看必须使用mysqlbinlog工具查看。在cmd中进入mysql目录下的bin中 使用msyqlbinlog
后面加上mylog.000001,可以看到所有ddl和dml操作,且每一个操作都有具体的位置和时间点的记录。

随着时间的推移,二进制文件里面的数据越来越大,所以要定期的做一些清理工作。
reset master 可以删除列于索引文件中的所有二进制日志,把二进制日志索引文件重新设置为空,并创建一个新的二进制日志文件
PURGE {MASTER | BINARY} LOGS TO 'log_name'
PURGE {MASTER | BINARY} LOGS BEFORE 'date'
用于删除列于在指定的日志或日期之前的日志索引中的所有二进制日志。这些日志也会从记录在日志索引文件中的清单中被删除,这样被给定的日志成为第一个。
设置my.ini中的参数[mysqld]下的-EXPIRE_LOGS_DAYS。此参数是设置日志的过期天数,过期的日志将会被自动删除,


你可能感兴趣的:(mysql日志类别及使用)