第六章 mysql日志

一 错误日志

错误日志的默认存放路径是 mysql 存放数据的地方  hostname.err

1. 修改错误日志存放路径

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

2. 查看配置命令

show variables like "%log_error%";

3. 错误日志作用

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

二 一般查询日志

1. 开启一般查询日志

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

2. 查看配置命令

show variables like '%gen%';

3. 一般查询日志作用

记录mysql所有执行成功的SQL语句信息,可以做审计用,但很少开启

三 二进制日志

1. 二进制日志都记录了什么

已提交的数据记录, 以event的形式记录到二进制文件中

2. 二进制记录格式的3种模式

row 行模式,即数据行的变化过程 一般都是用这种
②  statement 语句模式 可能不准确 比如now()
③  mixed: 以上两者的混合模式

3. binlog的作用

备份恢复   复制

四 二进制日志管理

1.  开启二进制日志

① 会话级别临时关闭

set   sql_log_bin=0

②全局打开二进制日志

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

2.二进制日志记录格式(建议是row)

[mysqld]
binlog-format=ROW

3. 日志同步机制

[mysqld]
sync_binlog=1

4.  二进制日志需要打开的配置

vim /etc/my.cnf

log-bin=/data/binlog
binlog_format=row
sync_binlog=1

5. 查看设置

-- 查看binlog日志是否开启
show variables like '%log_bin%'; -- 查看模式是否为row
show variables like '%binlog_format%';

6. 通过二进制日志修复数据

show binary logs;
show binlog events in 'my-bin.000002'
show master status;
mysqlbinlog  --base64-output=decode-rows -v my-bin.000002
mysqlbinlog --start-position=120 --stop-position=721 my-bin.000002
mysqlbinlog --start-position=340 --stop-position=721 my-bin.000002 >/tmp/binlog.sql

读取二进制日志 修复数据

source /tmp/binlog.log

7. 删除二进制日志

默认情况下,不会删除旧的日志文件。
根据存在时间删除日志:
SET GLOBAL expire_logs_days = 90;
…或者…
PURGE BINARY LOGS BEFORE now() - INTERVAL 3 day;
根据文件名删除日志:
PURGE BINARY LOGS TO 'mysql-bin.000010'; reset master;

五 慢日志

1. 功能

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

2. 慢日志设置

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=1 
slow_query_log_file=/data/slow/slow.log
long_query_time=0.5
log_queries_not_using_indexes

3. 处理慢日志

mysqldumpslow命令

mysqldumpslow -s c -t 10 /data/slow/slow.log
mysqldumpslow -s at -t 10 /data/slow/slow.log

这会输出记录次数最多的10条SQL语句,
其中:
  -s 是表示按照何种方式排序
  c、t、l、r分别是按照记录次数、时间、查询时间、返回的记录数来排序。
  ac、at、al、ar,表示相应的倒叙。
  -t 是top n的意思,即为返回前面多少条的数据;


第六章 mysql日志的更多相关文章

  1. MySQL基础之第17章 MySQL日志

    17.1.日志简介 二进制日志错误日志通用查询日志慢查询日志 17.2.二进制日志 二进制日志也叫作变更日志(update log),主要用于记录数据库的变化情况.通过二进制日志可以查询MySQL数据 ...

  2. 高性能MySQL之【第十六章MySQL用户工具】学习记录

    接口工具:      Msql Workbench   http://www.mysql.com/products/workbench      SQLyog  http://www.webyog.c ...

  3. 第六章 MySQL 查询

    查询数据表 语法: SELECT {* | <字段列表>} [ FROM <表1>, <表2>.... [ where <表达式> ] [ group ...

  4. JAVA / MySql 编程——第六章 Mysql 创建账户的相关命令

    1.        创建普通用户: 语法: CREATE USER `user`@`host` [IDENTIFIED 'password'];   //user:用户名,host:主机名,passw ...

  5. 第六章· MySQL索引管理及执行计划

    一.索引介绍 1.什么是索引 1)索引就好比一本书的目录,它能让你更快的找到自己想要的内容. 2)让获取的数据更有目的性,从而提高数据库检索数据的性能. 2.索引类型介绍 1)BTREE:B+树索引 ...

  6. 第十五章 MySQL日志(待续)

    ·······

  7. 第六章 MySQL函数(待续)

    ············

  8. 【MySQL函数】MySQL 5.5从零开始学第六章

    说明:本文总结自:<MySQL 5.5从零开始学>第六章 MySQL中的函数包括: 数学函数.字符串函数.日期和时间函数.条件判断函数.系统信息函数和加密函数等. 函数: 表示对输入参数值 ...

  9. 【第六章】MySQL日志文件管理

    1.日志文件管理概述: 配置文件:/etc/my.cnf 作用:MySQL日志文件是用来记录MySQL数据库客户端连接情况.SQL语句的执行情况以及错误信息告示. 分类:MySQL日志文件分为4种:错 ...

  10. 《mysql必知必会》学习_第六章_20180730_欢

    第六章<过滤数据> P35 1. select prod_name,prod_price from products where prod_price=2.5; 2.select prod ...

随机推荐

  1. MYSQL --存储引擎的对比

    主要介绍三种 InnoDB .MyISAM .Memory 一.InnoDB 介绍: InnoDB是一种兼顾高可靠性和高性能的通用存储引擎,在MySQL5.5之后默认的存储引擎 特点: DML操作遵循 ...

  2. Java复习篇3---基础概念

    关键字 关键字:被Java赋予了特定含义的英文单词 关键字的字母全是小写 常用的代码编辑器,针对关键字会有特殊的颜色标记,非常直观 例如: class: 用于(创建\定义)一个类,后面紧跟类名. 类是 ...

  3. vue封装全局确认弹窗

    下载文件1.弹窗组件 <template> <view class="bombFrame" v-if="bshow" :class=" ...

  4. PHP_递归实现无限级分类

    <?php /** * 递归方法实现无限级别分类 * @param array $list 要生成树形列表的数组[该数组中必须要有主键id 和 父级pid] * @param int $pid= ...

  5. 数据驱动之 python + requests + Excel

    数据驱动 是根据数据来测试的,如读取 excel表中的测试用例自动填写测试结果,发送测试报告 包括以下模块: 1.获取用例 2.调用接口 3.校验结果 4.发送测试报告 5.异常处理 6.日志模块 1 ...

  6. UPPER VSCODE

  7. IC杂记

    BNF(Backus-Naur Form) 巴科斯范式, 以美国人巴科斯(Backus)和丹麦人诺尔(Naur)的名字命名的一种形式化的语法表示方法,用来描述语法的一种形式体系,是一种典型的元语言.又 ...

  8. oracle导出csv文件后导入mysql

    场景: oracle数据库中有与mysql同名表,需要将oracle表数据导入mysql,需要手工操作 工具: navicat premium 解决方案: 1.使用plsql工具从oracle导出cs ...

  9. 前端导出文件流[object Object]

    情景:后台返回文件流,前端导出. 参照网上的文章配置responseType:'blob' :blob导出文件乱码_前端小菜鸟__简单的博客-CSDN博客_blob导出乱码 后台管理项目blob导出文 ...

  10. python中如果获取对象的内存地址,及字典的地址

    在python中,如果查看一个对象的内存地址,可以用到id这个内置函数:使用方式是: id(object)--->返回该对象的10进制的内存地址: 以下是官方定义:翻译为大白话就是,返回一个对象 ...