一、MySQL日志

1、错误日志

①配置方法

[mysqld]
log-error=/data/mysql/mysql.log

②查看配置方式

mysql> show variables like '%log%error%';
+---------------------+----------------------------------+
| Variable_name | Value |
+---------------------+----------------------------------+
| binlog_error_action | IGNORE_ERROR |
| log_error | /application/mysql/data/db01.err |
+---------------------+----------------------------------+
rows in set (0.00 sec)

③作用

记录MySQL数据库的一般状态信息及报错信息,是数据库常规报错处理的常用日志

2、一般查询日志

①配置方法

[mysqld]
general_log=on
general_log_file=/data/mysql/server2.log

②查看配置方式

mysql> show variables like '%gen%';
+------------------+----------------------------------+
| Variable_name | Value |
+------------------+----------------------------------+
| general_log | OFF |
| general_log_file | /application/mysql/data/db01.log |
+------------------+----------------------------------+
rows in set (0.00 sec)

③作用

记录所有的已执行成功的操作,可以作为审计功能,一般情况下不会开,除非特殊要求:ELK日志收集

3、二进制日志

①二进制三种模式

row:行模式,数据行的变化过程 #推荐的格式
statement:语句模式
mixed:以上两者混合模式
 

②开启二进制日志

[mysqld]
log-bin=/application/mysql/data/mysql-bin

③设置二进制的日志格式

[mysqld]
binlog-format=row

命令行修改日志格式

set global binlog_format = 'ROW';

④查看binlog使用的日志格式

mysql> show variables like '%format%';
+--------------------------+-------------------+
| Variable_name | Value |
+--------------------------+-------------------+
| binlog_format | STATEMENT |
| date_format | %Y-%m-%d |
| datetime_format | %Y-%m-%d %H:%i:%s |
| default_week_format | |
| innodb_file_format | Antelope |
| innodb_file_format_check | ON |
| innodb_file_format_max | Antelope |
| time_format | %H:%i:%s |
+--------------------------+-------------------+
rows in set (0.00 sec)

⑤查看binlog设置

show variables like '%binlog%';

⑥查看binlog及位置点

show binary logs;
show master status;

⑦刷新binlog日志

mysqladmin flush logs

⑧截取binlog日志

mysqlbinlog --start-position= --stop-position= mysql-bin. >/tmp/inc.sql

⑨使用source恢复

mysql> set sql_log_bin=; #在当前恢复窗口临时关闭二进制日志记录

⑩binlog日志作用

1、记录更改的二进制SQL语句
2、主从复制
3、增量数据备份
 

4、二进制日志管理

二进制日志的删除,默认情况下,不会删除旧的日志文件

[mysqld]
SET GLOBAL expire_logs_days = ;#保留7天 PURGE BINARY LOGS BEFORE now() - INTERVAL day; PURGE BINARY LOGS TO 'mysql-bin.000010';#根据文件名删除日志:
reset master;#清除binlog日志

5、慢查询日志管理slow-log

①功能

记录所有条件内的慢SQL语句,优化的一种工具日志,将mysql服务器中影响数据库性能的相关SQL语句记录到日志文件,通过对这些特殊的SQL语句分析,改进以达到提高数据库性能的目的

②慢查询日志设置

long_query_time        #设定慢查询的阀值,超出次设定值的SQL即被记录到慢查询日志,缺省值为10s
slow_query_log  #指定是否开启慢查询日志
slow_query_log_file #指定慢日志文件存放位置,可以为空,系统会给一个缺省的文件host_name-slow.log
min_examined_row_limit #查询检查返回少于该参数指定行的SQL不被记录到慢查询日志
log_queries_not_using_indexes#不使用索引的慢查询日志是否记录到索引  

③开启数据库的慢查询

[mysqld]
slow_query_log = ON
slow_query_log_file = /usr/local/mysql/data/slow.log
long_query_time =

④切割慢查询日志

cd /data/ &&\
/bin/mv show.log slow.log.$(date +%F) &&\
mysqladmin -uroot -p123456 flush-log #零点刷新

⑤慢查询分析工具

pt-query-digest  

linux运维、架构之路-MySQL日志(三)的更多相关文章

  1. linux运维架构师职业规划

    1.假如你从来未接触过Linux的话,首先要做的就找一本指导书来学习.现在公认的Linux的入门书籍是“鸟哥的私房菜”,讲的很全面,鸟哥的私房菜一共分为两部,一部是基础篇,一部是服务器篇.“鸟哥的私房 ...

  2. Linux运维必会的MySQL企业面试题大全

    (1)基础笔试命令考察 1.开启MySQL服务 /etc/init.d/mysqld start service mysqld start systemctl start mysqld 2.检测端口是 ...

  3. 写给自己看的Linux运维基础(二) - Apache/MySQL. 安全设置. 定时任务

    本文使用环境为CentOS 6 Apache, PHP, MySQL等常用软件均可通过yum安装包获取 yum install httpd php mysql-server # mysql: 客户端; ...

  4. linux运维中的命令梳理(三)

    ----------文本操作命令---------- sed命令:文本编辑工具 sed是一个很好的文件处理工具,本身是一个管道命令,主要是以行为单位进行处理,可以将数据行进行替换.删除.新增.选取等特 ...

  5. 从苦逼到牛逼,详解Linux运维工程师的打怪升级之路

    做运维也快四年多了,就像游戏打怪升级,升级后知识体系和运维体系也相对变化挺大,学习了很多新的知识点. 运维工程师是从一个呆逼进化为苦逼再成长为牛逼的过程,前提在于你要能忍能干能拼,还要具有敏锐的嗅觉感 ...

  6. Linux运维企业架构实战系列

    Linux运维企业架构项目实战系列 项目实战1-LNMP的搭建.nginx的ssl加密.权限控制的实现 项目实战2-LVS.nginx实现负载均衡系列 2.1 项目实战2.1-实现基于LVS负载均衡集 ...

  7. (转)linux运维必会MySQL企业面试题

    linux运维必会MySQL企业面试题  老男孩教育运维班全体学员MySQL必会企业面试题最实战.最细致.最落地的运维实训基地,老男孩教育连续多年国内平均就业工资最高! 数据库的重要性是所有技术里最核 ...

  8. Linux运维企业架构项目实战系列

    Linux运维企业架构项目实战系列 项目实战1—LNMP的搭建.nginx的ssl加密.权限控制的实现 项目实战2—LVS.nginx实现负载均衡系列2.1 项目实战2.1—实现基于LVS负载均衡集群 ...

  9. (转)Linux运维MySQL必会面试题100道

    老男孩教育Linux运维班MySQL必会面试题100道 (1)基础笔试命令考察 (要求:每两个同学一组,一个口头考,一个上机实战作答,每5个题为一组,完成后换位) 1.开启MySQL服务 2.检测端口 ...

随机推荐

  1. python字符串的学习计划

    python字符串有14小节内容, 计划7天学完吧(不知道能完成不) 今天依然是在禅道上写用例的一天 禅道上的用例,编写的时候比较方便 修改维护的时候,有点小麻烦(没有在Excel表中容易修改) D5 ...

  2. 20191110 Spring Boot官方文档学习(4.2)

    4.2.外部化配置 Spring Boot使您可以外部化配置,以便可以在不同环境中使用相同的应用程序代码.您可以使用Properties文件,YAML文件,环境变量和命令行参数来外部化配置.属性值可以 ...

  3. APIView的流程分析

     APIView的流程分析 1.入口,因为视图类的继承APIView()的 as_view()是一个绑定类的方法 2.进入as_view(),正好这个as_view()有个返回值 返回的是dispat ...

  4. Java第一周总结

    通过两周的Java学习最深刻的体会就是Java好像要比C要简单一些. 然后这两周我学习到了很多东西,李老师第一次上课就给我们介绍了Java的发展历程,同时还有Java工具jdk的发展历程. Java语 ...

  5. 自己写一个Layout

    1 Layout是ViewGroup的子类 LinearLayout.FrameLayout都是ViewGroup的子类,自己写的Layout也是ViewGroup的子类. 2 步骤 第一,自己的La ...

  6. 前端导出excel文件

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  7. C++ 线性表实现

    List.h #pragma once #include "targetver.h" #include <stdio.h> #include <tchar.h&g ...

  8. python中输入三个整数x,y,z,请把这三个数由小到大输出。

    输入三个整数x,y,z,请把这三个数由小到大排序,再把数组由大到小排序,再输出最大值和最小值! #定义一个空数组 numbers = [] #循环遍历,下面的4是控制循环次数 for i in ran ...

  9. Delphi7所使用的WinAPI大全(摘自VCL源码,一共1200个函数)

    经过我整理的,去掉了A和W的重复.虽然没写注释,但以后要一个一个研究.有这些WINAPI就够用了. kernel32 = 'kernel32.dll'; gdi32 = 'gdi32.dll'; us ...

  10. Xdex(百度版)脱壳工具基本原理

    [原创]Xdex(百度版)脱壳工具基本原理作 者: sherrydl时 间: 2015-12-13,10:52:45链 接: http://bbs.pediy.com/showthread.php?t ...