MySQL日志的配置和删除

MySQL有很多的日志,下面进行下解释说明:

错误日志: log-err
查询日志: log
慢查询日志: log-slow-queries
更新日志: log-update
二进制日志: log-bin

MySQL的日志默认是放在安装文件夹的var目录下,数据库也是放在这个目录,是可以通过my.cnf进行修改和优化。

来看看一个my.cnf实例

  
  
  
  
  1. [client]  
  2. port        = 3306 
  3. socket      = /var/run/mysqld/mysqld.sock  
  4. [mysqld_safe]  
  5. socket      = /var/run/mysqld/mysqld.sock  
  6. nice        = 0 
  7. [mysqld]  
  8. user        = mysql 
  9. socket      = /var/run/mysqld/mysqld.sock  
  10. port        = 3306 
  11. basedir     = /usr  
  12. datadir     = /var/lib/mysql  
  13. tmpdir      = /tmp  
  14. skip-external-locking  
  15. key_buffer      = 16M 
  16. max_allowed_packet  = 16M 
  17. thread_stack        = 192K 
  18. thread_cache_size       = 8 
  19. myisam-recover         = BACKUP 
  20. query_cache_limit   = 1M 
  21. query_cache_size        = 16M 
  22. log_error                = /var/log/mysql/error.log
  23. log-bin = mysql-bin   #二进制日志前缀
  24. expire_logs_days    = 10  #日志过期时间10天  
  25. max_binlog_size         = 100M  #二进制查询日志最大空间  
  26. [mysqldump]  
  27. quick  
  28. quote-names  
  29. max_allowed_packet  = 16M 
  30. [mysql]  
  31. [isamchk]  
  32. key_buffer      = 16M 

 二进制日志有时候会占用很大的空间,如图

二进制文件所占用的空间 

删除二进制日志:

命令

  
  
  
  
  1. PURGE {MASTER | BINARY} LOGS TO 'log_name' 
  2. PURGE {MASTER | BINARY} LOGS BEFORE 'date' 

删除指定日志之前的bin-log

   
   
   
   
  1. PURGE MASTER LOGS TO 'mysql-bin.027'; 
查看当前的log
   
   
   
   
  1. show binary logs;

删除并查看:

  
  
  
  
  1. purge binary logs to 'mysql-bin.027'; 
  2. show binary logs; 

删除二进制日志

还有网友推荐一种方法是关闭MySQL,直接删除mysql-bin文件,再启动,建议备份好数据库再进行该离线操作。

禁用二进制日志

删除MySQL二进制日志

  
  
  
  
  1. mysql -uroot -ppassword -e "reset master;" 

关闭二进制日志

vim /etc/my.cnf

注释如下代码:

log-bin=mysql-bin

binlog_format=mixed

重启mysql服务器

service mysqld restart

你可能感兴趣的:(mysql日志,mysql-bin)