linux运维、架构之路-MySQL日志(三)
一、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日志(三)的更多相关文章
- linux运维架构师职业规划
1.假如你从来未接触过Linux的话,首先要做的就找一本指导书来学习.现在公认的Linux的入门书籍是“鸟哥的私房菜”,讲的很全面,鸟哥的私房菜一共分为两部,一部是基础篇,一部是服务器篇.“鸟哥的私房 ...
- Linux运维必会的MySQL企业面试题大全
(1)基础笔试命令考察 1.开启MySQL服务 /etc/init.d/mysqld start service mysqld start systemctl start mysqld 2.检测端口是 ...
- 写给自己看的Linux运维基础(二) - Apache/MySQL. 安全设置. 定时任务
本文使用环境为CentOS 6 Apache, PHP, MySQL等常用软件均可通过yum安装包获取 yum install httpd php mysql-server # mysql: 客户端; ...
- linux运维中的命令梳理(三)
----------文本操作命令---------- sed命令:文本编辑工具 sed是一个很好的文件处理工具,本身是一个管道命令,主要是以行为单位进行处理,可以将数据行进行替换.删除.新增.选取等特 ...
- 从苦逼到牛逼,详解Linux运维工程师的打怪升级之路
做运维也快四年多了,就像游戏打怪升级,升级后知识体系和运维体系也相对变化挺大,学习了很多新的知识点. 运维工程师是从一个呆逼进化为苦逼再成长为牛逼的过程,前提在于你要能忍能干能拼,还要具有敏锐的嗅觉感 ...
- Linux运维企业架构实战系列
Linux运维企业架构项目实战系列 项目实战1-LNMP的搭建.nginx的ssl加密.权限控制的实现 项目实战2-LVS.nginx实现负载均衡系列 2.1 项目实战2.1-实现基于LVS负载均衡集 ...
- (转)linux运维必会MySQL企业面试题
linux运维必会MySQL企业面试题 老男孩教育运维班全体学员MySQL必会企业面试题最实战.最细致.最落地的运维实训基地,老男孩教育连续多年国内平均就业工资最高! 数据库的重要性是所有技术里最核 ...
- Linux运维企业架构项目实战系列
Linux运维企业架构项目实战系列 项目实战1—LNMP的搭建.nginx的ssl加密.权限控制的实现 项目实战2—LVS.nginx实现负载均衡系列2.1 项目实战2.1—实现基于LVS负载均衡集群 ...
- (转)Linux运维MySQL必会面试题100道
老男孩教育Linux运维班MySQL必会面试题100道 (1)基础笔试命令考察 (要求:每两个同学一组,一个口头考,一个上机实战作答,每5个题为一组,完成后换位) 1.开启MySQL服务 2.检测端口 ...
随机推荐
- c# AES128 加解密算法
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.D ...
- element_to_be_clickable(locator)
是等待页面元素可见的时候操作,会设置一定范围的时间,如果在时间范围内,元素可见,就 执行操作,元素不可见,就会引发TimeoutException的异常.如下是element_to_be_clicka ...
- Scratch少儿编程系列:(六)诗词《从军行》赏析
一.程序说明 本程序用来显示<从军行>诗词,逐字显示.本来计划用2.0制作,但在制作过程中,在“造型”中无法输入汉字,临时采用3.0版本,1.4版本也可以. 二.程序流程图 为了更直观的描 ...
- Mybatis-学习笔记(7)缓存机制
1.一级缓存 SqlSession级别的缓存,使用HashMap存储缓存数据,不同的SqlSession之间的缓存数据区域(HashMap)互不影响. 一级缓存的作用域是SqlSession范围(强调 ...
- django后台集成富文本编辑器Tinymce的使用
富文本编辑器Tinymce是使用步骤: 1.首先去python的模块包的网站下载一个django-tinymce的包 2.下载上图的安装包,然后解压,进入文件夹,执行: (pychrm直接运行命令pi ...
- Delphi中各个包中包含的控件
经常有朋友提这样的问题,“我原来在delphi5或者delphi6中用的很熟的控件到哪里去了?是不是在delphi7中没有了呢?这是不是意味着我以前写的代码全都不能够移植到delphi7中来了呢?是不 ...
- 【论文解读】[目标检测]retinanet
作为单阶段网络,retinanet兼具速度和精度(精度是没问题,速度我持疑问),是非常耐用的一个检测器,现在很多单阶段检测器也是以retinanet为baseline,进行各种改进,足见retinan ...
- XIB约束布局问题(button)
button默认不给宽度:系统Xib自动适配,最小宽度30.在使用宽度计算时,无法小于这个值
- Apache 安装后启动出现的错误
错误信息 1: configure: error: APR not found 解决方法:yum install apr* -y 错误信息 2:httpd: apr_sockaddr_info_get ...
- PAT Basic 1037 在霍格沃茨找零钱 (20 分)
如果你是哈利·波特迷,你会知道魔法世界有它自己的货币系统 —— 就如海格告诉哈利的:“十七个银西可(Sickle)兑一个加隆(Galleon),二十九个纳特(Knut)兑一个西可,很容易.”现在,给定 ...