6.MySQL日志系统


Error log

MySQL Server的启动、停止、crash、recovery、错误信息。
--log-warnings/log_warnings:记录交互错误和连接中断。
问题诊断

规模化运维如何解决:

  • 日志汇总
  • 日志监控

Binlog

Row(推荐)、Statement、Mix(Statement为主,特殊条件下切换为Row)
sync_binlog = 1
--binlog-do-db 、--binlog-ignore-db(Master端)
--replicate-do-db 、--replicate-ignore-db(Slave端)
Reset Master(除非你放弃他,否则永远不要用)
Purge binary logs XXXXXX (先备份,再purge)

mysqlbinlog
--database:过滤数据库级别
--start-datetime、--stop-datetime:时间级别过滤
文件名正则:mysql-bin.00000[0-9]*
--table:表级别过滤(官方版本不支持)
binlog恢复数据库
部分恢复:mysqlbinlog过滤解析,应用sql
全量恢复:apply binlog
flashback(Row format)
data stream(数据同步方案)


Slow log

slow_query_log:记录了总比不记录要强
long_query_time
0:记录所有执行的SQL
#:业务不能满足的值。
log-slow-admin-statements
打开也没有办法
操作评估更重要

mysqldumpslow
mysqlsla

perl Makefile.PL
make&make install
yum -y  install perl-Time-HiRes

pt-query-digest

yum install perl-IO-Socket-SSL
rpm -ivh percona-toolkit-2.2.9-1.noarch.rpm

General log

general_log:Global级别
sql_log_off :Session级别
作用:

  • 数据库审计
  • 执行轨迹

Redo log

DML产生页面变化

  • 页面修改完,脏页刷新前
  • 索引/Undo页面修改

先写buffer,后flush文件
LSN:log sequence nuber


参考资料

《Mixed Binary Logging Format》
http://dev.mysql.com/doc/refman/5.5/en/binary-log-mixed.html
《Point-in-Time (Incremental) Recovery Using the Binary Log》
http://dev.mysql.com/doc/refman/5.5/en/point-in-time-recovery.html
《Why MySQL replication is better than mysqlbinlog for recovery》
http://www.xaprb.com/blog/2010/09/04/why-mysql-replication-is-better-than-mysqlbinlog-for-recovery/
《MySQL backup and point in time recovery with binary logs》
http://blog.bytetouch.com/system-administration/mysql-backup-and-point-in-time-recovery-with-binary-logs/
《Point-In-Time recovery》
http://www.percona.com/doc/percona-xtrabackup/2.1/innobackupex/pit_recovery_ibk.html
《MySQL下实现闪回的设计思路 (MySQL Flashback Feature)》
http://www.penglixun.com/tech/database/mysql_flashback_feature.html
《Flashback feature for MySQL》
http://mysql.taobao.org/index.php/Patch_source_code#Add_flashback_feature_for_mysqlbinlog
《The Slow Query Log》
http://dev.mysql.com/doc/refman/5.5/en/slow-query-log.html
《mysqldumpslow — Summarize Slow Query Log Files》
http://dev.mysql.com/doc/refman/5.5/en/mysqldumpslow.html
《mysqlsla》
http://hackmysql.com/mysqlsla
《Percona Toolkit for MySQL》
http://www.percona.com/software/percona-toolkit
《The General Query Log》
http://dev.mysql.com/doc/refman/5.5/en/query-log.html
《Redo Logging in InnoDB》
https://blogs.oracle.com/mysqlinnodb/entry/redo_logging_in_innodb
《How InnoDB handles REDO logging》How InnoDB handles REDO logging
《Innodb redo log archiving》
http://www.mysqlperformanceblog.com/2014/03/28/innodb-redo-log-archiving/
《数据库内核分享(第二期)—— InnoDB 日志 回滚段 & 崩溃恢复 实现详解》http://hedengcheng.com/?p=489

你可能感兴趣的:(6.MySQL日志系统)