MySQL数据库主要有5种类型的日志,分别为慢查询日志(log-slow-queries),二进制日志(log-bin),错误日志(log-error),查询日志(log),更新日志(log-update)。在新的MySQL版本中,已取消了更新日志,可以用二进制日志来替代这个功能。文章侧重讲解慢查询日志和二进制日志。

慢查询日志(log-slow-queries)

MySQL慢查询,指的是查询消耗时间较多,或者没有使用索引的查询,MySQL可以同时记录这两种情况:

#慢日志保存路径
log-slow-queries = slow.log

超过2秒的查询
long_query_time = 2

没有使用索引的查询
log-queries-not-using-indexes

二进制日志(log-bin)

在MySQL中,如果启用二进制日志记录,则MySQL的变更修改都会被记录到日志文件中:

mysql> show variables like ‘log_bin’;
±--------------±------+
| Variable_name | Value |
±--------------±------+
| log_bin | ON |
±--------------±------+
1 row in set
如果想关闭bin日志的记录,可以修改配置文件my.ini,把里面的log-bin这一行注释掉,重启mysql服务。

查看的数据库的bin日志:

mysql> show binary logs;
±-----------------±----------+
| Log_name | File_size |
±-----------------±----------+
| mysql-bin.000001 | 946525 |
±-----------------±----------+
1 row in set
如果没有主从复制,可以通过以下方式,重置数据库日志,清除之前的日志文件:

mysql> reset master;
Query OK, 0 rows affected
但是如果存在复制关系,应当通过PURGE的方式来清理bin日志:
语法如下:

PURGE MASTER LOGS TO ‘log_name’;
PURGE MASTER LOGS BEFORE ‘date’;
用于删除列于在指定的日志或日期之前的日志索引中的所有二进制日志。这些日志也会从记录在日志索引文件中的清单中被删除。

例如:

PURGE MASTER LOGS TO ‘mysql-bin.010’;
PURGE MASTER LOGS BEFORE ‘2008-06-23 15:00:00’;
清除3天前的 binlog

PURGE MASTER LOGS BEFORE DATE_SUB( NOW( ), INTERVAL 3 DAY);
BEFORE变量的date自变量可以为’YYYY-MM-DD hh:mm:ss’格式。
如果有主从复制,则注意以下几个问题:

1、从服务器是活动的,并且刚好在读取你正在试图删除的日志之一,那么执行这个命令不会起作用,而是触发一个错误。

2、从服务器是停止的,你碰巧清理了其想要读取的日志之一,则从服务器启动后不能复制。

3、从服务器是活动的,没有读取你试图删除的日志,那个这个命令是安全的,而且执行这个命令时从服务器不需要停止工作。

要清理日志,需按照以下步骤:

  1. 在每个从属服务器上,使用SHOW SLAVE STATUS来检查它正在读取哪个日志。
  2. 使用SHOW MASTER LOGS获得主服务器上的一系列日志。
  3. 在所有的从属服务器中判定最早的日志。这个是目标日志。如果所有的从属服务器是更新的,这是清单上的最后一个日志。
  4. 备份你将要删除的所有日志。(这个步骤是自选的,但是建议采用。)
  5. 清理所有的日志,但是不包括目标日志,因为从服务器还要跟它同步

参考:

http://blog.csdn.net/mycwq/article/details/17209169
http://ourmysql.com/archives/959
http://dev.mysql.com/doc/refman/5.0/en/binary-log.html

linux下mysql数据库日志分类及管理相关推荐

  1. mysql 多数据库文件_今天突然发现我的Linux下MySQL数据库目录多了好多文件

    今天再次重现Blog了,虽然很忙,还是要来写一下Blog的,嘻,首先还是一样先谢谢Sery 今天发现了我的Linux下Mysql数据库目录多了好多Mysql-bin.0000X这些文件,经过自己查找资 ...

  2. Linux下MySQL数据库主从同步配置

    操作系统:CentOS 6.x 64位 MySQL数据库版本:mysql-5.5.35 MySQL主服务器:192.168.21.128 MySQL从服务器:192.168.21.129 准备篇: 说 ...

  3. Linux下Mysql数据库的基础操作

    Linux下Mysql数据库的基础操作 一.Mysql数据介绍 二.数据库相关术语介绍 1.数据库相关名词 2.相关术语介绍 三.Mysql数据库的管理 1.创建数据库用户 2.查询用户状态 3.修改 ...

  4. linux下mysql数据库基础及客户端命令详解

    linux下mysql数据库基础及客户端命令详解 1.mysql数据库存储引擎: SHOW ENGINES;   #查看mysql支持的存储引擎 常见有如下两个存储引擎: MyISAM:每表三个文件: ...

  5. linux mysql常用基本操作,Linux下MySQL数据库常用基本操作 一

    Linux下MySQL数据库常用基本操作 一 0.登录数据库 mysql -u root -p 1.显示数据库 show databases; 2.选择数据库 use 数据库名; 3.显示数据库中的表 ...

  6. Linux下mysql数据库从服务器A只迁移DATA文件夹到服务器B

    Linux下mysql数据库从服务器A只迁移DATA文件夹到服务器B 操作流程 获取数据 迁移数据 运行新的数据库 后记 操作流程 前言:近期做了一个项目,由于mysql数据库中的数据比较庞大,考虑转 ...

  7. mysql教程qt linux_一步步学Qt,第四天-Linux 下mysql数据库链接

    一步步学Qt,第四天-Linux 下mysql数据库链接 现在在linux系统下面,完成之前的qt-mysql连接工作,此次我新安装了新版的qt,也按照qtassistant对mysqldriver进 ...

  8. Linux下Mysql数据库

    Linux下Mysql数据库 MySQL是一个开放源码的小型关联式数据库管理系统,开发者为瑞典MySQL AB公司, 目前属于Oracle公司,MySQL被广泛地应用在Internet上的中小型网站中 ...

  9. (0.2)linux下Mysql的安装配置与管理入门(目录篇)

    本章学习内容: 1.基于Linux平台的Mysql项目场景介绍 1.1.互联网各类网站.购物网站.门户网站.博客系统.IDC,云平台,VPS,虚拟主机空间,论坛,嵌入式. 2.mysql数据库运行环境 ...

最新文章

  1. 企业管理难题:团队协作
  2. 一次由于字符集问题引发的MySQL主从同步不一致问题追查
  3. Oracle Events事件
  4. python怎么输入代码-python中如何设置代码自动提示
  5. HDU-2829 Lawrence (DP+四边形不等式优化)
  6. python练习--模拟grep -B功能
  7. java线程死亡_Java模因拒绝死亡
  8. 赢在 CSDN:我在 CSDN 的成长,“长风破浪会有时”,如何保证自己有持续写作的动力?
  9. FileSystemResource 和 ClassPathResource 有何区别
  10. 周末送新书 | 一文了解预训练语言模型!
  11. Natas.4744幽灵王病毒的分析
  12. 制作WIN_XP无人值守光盘
  13. JavaScript格式化时间与日期
  14. 天正电气2014的安装
  15. 业务常见面试题(数据分析)
  16. ad如何自动布线布单层_pcb单层板如何布线_pcb单层板自动布线设置
  17. 学习AngularJS有这一篇就好了
  18. 4G EPS 中的小区搜索
  19. 51单片机之共阳极静态数码管
  20. 如何有效地学习知识,如何才能全面发展?

热门文章

  1. RationalDMIS 2020 高级编程之量块程序示例2021(山涧果子)
  2. oracle语句求去年今月,ORACLE 如何写语句确定两个日期的月和日相同
  3. uni-app Wap2app生成的app跳转第三方页面,再返回的问题
  4. 点点软件园 2015.04.01 最新更新的软件
  5. Virtualbox 如何安装增强功能,加载VBoxGuestAdditions光盘映像文件
  6. mybatis查询数据返回实体对象和返回集合的易错点
  7. 微擎(客服消息发送)
  8. 用PHP画圆柱体,PS简单制作一个立体几何——圆柱体
  9. button属性的值和说明
  10. Python实战案例:使用Pygame开发游戏翻牌子(上)