第六章 mysql日志
第六章 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日志的更多相关文章
- MySQL基础之第17章 MySQL日志
17.1.日志简介 二进制日志错误日志通用查询日志慢查询日志 17.2.二进制日志 二进制日志也叫作变更日志(update log),主要用于记录数据库的变化情况.通过二进制日志可以查询MySQL数据 ...
- 高性能MySQL之【第十六章MySQL用户工具】学习记录
接口工具: Msql Workbench http://www.mysql.com/products/workbench SQLyog http://www.webyog.c ...
- 第六章 MySQL 查询
查询数据表 语法: SELECT {* | <字段列表>} [ FROM <表1>, <表2>.... [ where <表达式> ] [ group ...
- JAVA / MySql 编程——第六章 Mysql 创建账户的相关命令
1. 创建普通用户: 语法: CREATE USER `user`@`host` [IDENTIFIED 'password']; //user:用户名,host:主机名,passw ...
- 第六章· MySQL索引管理及执行计划
一.索引介绍 1.什么是索引 1)索引就好比一本书的目录,它能让你更快的找到自己想要的内容. 2)让获取的数据更有目的性,从而提高数据库检索数据的性能. 2.索引类型介绍 1)BTREE:B+树索引 ...
- 第十五章 MySQL日志(待续)
·······
- 第六章 MySQL函数(待续)
············
- 【MySQL函数】MySQL 5.5从零开始学第六章
说明:本文总结自:<MySQL 5.5从零开始学>第六章 MySQL中的函数包括: 数学函数.字符串函数.日期和时间函数.条件判断函数.系统信息函数和加密函数等. 函数: 表示对输入参数值 ...
- 【第六章】MySQL日志文件管理
1.日志文件管理概述: 配置文件:/etc/my.cnf 作用:MySQL日志文件是用来记录MySQL数据库客户端连接情况.SQL语句的执行情况以及错误信息告示. 分类:MySQL日志文件分为4种:错 ...
- 《mysql必知必会》学习_第六章_20180730_欢
第六章<过滤数据> P35 1. select prod_name,prod_price from products where prod_price=2.5; 2.select prod ...
随机推荐
- GPS网络授时仪(网络授时服务器)成功投运攀枝花市中西医结合医院
GPS网络授时仪(网络授时服务器)成功投运攀枝花市中西医结合医院 GPS网络授时仪(网络授时服务器)成功投运攀枝花市中西医结合医院 北京华人开创科技发展有限公司 技术交流15901092122岳峰 概 ...
- 9.java单链表初学代码复现及一些不值一提的小问题(2)
首先写完了update和delete函数,在之前的铺垫下.倒是不难,结构和之前的都相同,遍历找到节点后处理该节点.代码如下 public void update(teamNode node){ tea ...
- idea中怎么查找替换数据?
快捷键全局查询所有:crtl+shift+F 快捷键全局替换所有:crtl+shift+R 1.crtl+f crtl+r 快捷键全局查询所有:crtl+shift+F 快捷键全局替换所有:crtl+ ...
- python3.7安装Anaconda3+tensorflow2.1中遇到的问题
最近想搞深度学习,就开始装tensorflow,其中也是遇到了一些问题,希望给遇到同类问题的童鞋一些提示.... 因为之前一直用的python3.7,虽然网上很多建议装python3.5版本tenso ...
- 003 jmeter连接数据库及jmeter关联提取器
1.jmeter连接数据库 测试计划-->线程组-->在线程组上右键-添加-配置元件-JDBC Connection Configuration-->在线程组上右键-添加-取样器-J ...
- pytorch 入门
import matplotlib.pyplot as plt from torchvision.transforms import ToTensor import torch from torch ...
- ReactNative 的一些工程化阻碍
2017年我们团队就开始使用 ReactNative 开发了一些内部管理工具,由于性能及开发体验一般,老是碰到迷一样的问题我们几乎都快放弃使用了,后来随着设备性能的提升,以及框架本身的改进,很多问题得 ...
- Raid磁盘阵列更换磁盘时另一块盘离线恢复案例(v7000存储数据恢复)
Raid磁盘阵列更换磁盘时另一块盘离线恢复案例(v7000存储数据恢复) [故障描述]客户设备型号为IBM V7000存储,架构为AIX+oracle+V7000存储阵列柜,需要恢复的数据主要存放在阵 ...
- 微信开发者工具代码管理设置使用SSH Key(使用密码)方法
参考微信开发社区--使用ssh key无法推送代码.微信开发者工具 SSH key认证 推送.拉取GitHub项目 1.确认已安装git,打开 Git Bash 使用https://git.weixi ...
- AXI VALID READY 握手机制
1. VAILD 和READY 传输方向 2. VAILD 和READY依赖关系 前面说到AXI的五个通道是独立的,但通道间必须保持一定的约定关系:写回复必须在一次写事务的最后一个写数据之后读数据必须 ...