MySQL——日志管理
一、MySQL日志类型
1、错误:--log--error ---------------------***
host_name.err 2、常规: --general_log
host_name.log general_log 3、慢速查询: --slow_query_log --long_query_time ---------------------***
host_name-slow.log slow_log 4、二进制: --log-bin --expire-logs-days ---------------------***
host_name-bin.000001 5、审计: --audit_log --audit_log_file
audit.log 二、MySQL日志配置
(1)错误日志
[mysqld]
log-error=/data/mysql/mysql.log 查看配置:
show variables like '%log%error%'; 作用:
记录MySQL数据库的一般状态信息和报错信息,是我们对于数据库常规报错处理的常用日志。 (2)一般查询日志
[mysqld]
general_log=on
general_log_file=路径 作用:
记录所有执行成功的SQL语句信息。 查看方式:
show variables like '%gen%'; (3)二进制日志(依赖于SQL层,不依赖于存储引擎)(不记录select,只记录变化)
1、记录已经执行完成的语句和已经完成的事务 2、功能:备份和时间点恢复、主从 3、二进制日志的控制和操作:
a: 开启二进制日志:
vim /etc/my.cnf [mysqld]
log-bin=“datadir”/mysql-bin(文件名前缀)(不写路径默认是datadir下) b: 定义记录方式:
statement: 记录执行的语句 row(推荐):以行模式记录---->记录所有行的变化日志 mixed: c: 设置:
vim /etc/my.cnf [mysqld]
log-bin=“datadir”/mysql-bin
binlog-format=row d: 操作:
1)查看二进制日志:
--查看文件本身:
--操作系统层面查看:
ls -l
重启数据库的时候、执行flush命令的时候会滚动----生成新的文件重新记录
--mysql命令行中查看:
show master status;----查看当前正在使用的二进制日志
show binary logs;----查看所有存在的二进制日志 --查看文件内容:
---- 事件events: 命令的最小发生单元 ---- 事件的位置号position: 每个事件在二进制文件中的相对位置号就是position号 ---- 查看二进制日志内容:
--查看所有内容:
进入目录下:
mysqlbinlog mysql-bin.000003
--截取内容:
1 show master status;
2 show binlog events in 'mysql-bin.000003' ;
3 mysqlbinlog --start-position=120 --stop-position=339 mysql-bin.000003 导出:mysqlbinlog --start-position=120 --stop-position=339 mysql-bin.000003 >/tmp/inc.sql 4 导出的内容可以用来恢复:
1)使用source
2)使用 <
2)删除二进制日志:
在配置文件中加上过期时间: SET GLOBAL expire_logs_days=30;(天)
或者:
PURGE BINARY LOGS BEFORE now() - INTERVAL 3 day;
根据文件名删除日志:
PURGE BINARY LOGS TO 'mysql-bin.0000010'; (4)慢查询日志
1、功能:记录所有条件内的慢的SQL语句
2、作用:定位问题的工具日志 3、控制:
vim /etc/my.cnf [mysqld]
slow_query_log=on ------------------------------开启
slow_query_log_file=/data/slow.log -------------定义文件
long_query_time=10 -----------------------------超过30秒为操作慢的语句
min_examined_row_limit=10-----------------------查询检查返回少于该参数指定行的SQL语句不被记录到慢日志
log_queries_not_using_indexes-------------------不使用索引的慢查询日志是否记录到索引 4、处理:
mysqldumpslow -s c -t 10 /database/mysql/slow-log
输出记录次数最多的10条SQL语句,其中:
-s: 表示按照何种方式排序,c t l r分别为按照记录次数、时间、查询时间、返回的记录数来排序,
ac at al ar为相应的倒叙 -t: 返回前面多少条的数据 -g: 后边可以接正则匹配模式,大小写不敏感
MySQL——日志管理的更多相关文章
- MySQL日志管理
MySQL日志管理 2013年09月26日 ⁄ MySQL ⁄ 共 14266字 ⁄ 评论数 ⁄ 被围观 , views+ 一.日志类型: MySQL有几个不同的日志文件,可以帮助你找出mysqld内 ...
- MySQL 日志管理详解
大纲 一.日志分类 二.日志详解 注:MySQL版本,Mysql-5.5.32(不同版本的mysql变量有所不同) 一.日志分类 错误日志 查询日志 慢查询日志 二进制日志 中继日志 事务日志 滚动日 ...
- MySQL日志管理、备份、恢复
目录: 一.MySQL 日志管理 二.数据库备份的重要性与分类 三.常见的备份方法 四.MySQL完全备份 五.数据库完全备份分类 六.MySQL增量备份 七.MySQL数据库增量恢复 八.MySQL ...
- MySQL 日志管理及备份与恢复
MySQL 日志管理及备份与恢复 1.日志管理 2.备份与恢复 1.日志管理: MySQL的默认日志保存位置为/usr/local/mysql/data 日志开启方式有两种:通过配置文件或者是通过命令 ...
- MySQL日志管理、备份与恢复
MySQL日志管理.备份与恢复 目录 MySQL日志管理.备份与恢复 一.MySQL日志管理 1. MySQL日志路径 2. 设置.修改日志路径 3. 查询日志功能是否开启 二.MySQL备份与恢复 ...
- 第八章· MySQL日志管理
一.MySQL日志简介  二.错误日志 1.作用: 记录mysql数据库的一般状态信息及报错信息,是我们对于数据库常规报错处理的常用日志. 2.默认位置: $MYSQL_HOME/data/ 3.开 ...
- Centos7.6部署rsyslog+loganalyzer+mysql日志管理服务器
参考来自: the_script :https://yq.aliyun.com/articles/675198 名山.深处:https://www.cnblogs.com/skychenjiajun/ ...
- mysql日志管理#慢日志详解
MySQL的慢查询日志是MySQL提供的一种日志记录,它用来记录在MySQL中响应时间超过阀值的语句,具体指运行时间超过long_query_time值的SQL,则会被记录到慢查询日志中 long_q ...
- MySQL - 日志管理
在 MySQL 中,有 4 种不同的日志,分别是错误日志.二进制日志.查询日志和慢查询日志. 错误日志 错误日志记录了 MySQL 启动和停止时以及服务器在运行过程中发生严重错误时的相关信息. 查看错 ...
随机推荐
- DC-2 靶机渗透测试
DC-2 靶机渗透测试 冲冲冲,好好学习. 本靶机核心内容"受限shell提权",知识点在另一篇文章中总结归纳了. 攻击机:kali 靶 机:DC-2 准备:在使用前需要在操作机的 ...
- 分时函数 & 节流函数
分时函数 & 节流函数 1.函数节流 JavaScript 中的函数大多数情况下都是由用户主动调用触发的,除非是函数本身的实现不合 理,否则我们一般不会遇到跟性能相关的问题.但在一些少数情况下 ...
- 高楼扔鸡蛋问题(鹰蛋问题) POJ-3783
这是一道经典的DP模板题. https://vjudge.net/problem/POJ-3783#author=Herlo 一开始也是不知道咋写,尝试找了很多博客,感觉有点领悟之后写下自己的理解. ...
- POI解析excel,将批量数据写入文件或数据库
.personSunflowerP { background: rgba(51, 153, 0, 0.66); border-bottom: 1px solid rgba(0, 102, 0, 1); ...
- 尝试通过 JDBC 将 UTF-8 插入 MySQL 时出现“乱码”
这是我的连接设置方式: Connection conn = DriverManager.getConnection(url + dbName + "?useUnicode=true& ...
- Java中使用split方法根据英文问号?切割字符串时报错
因为正则表达式的原因,我们无法在java中直接使用String.split("?"),需要先转义其正确写法为: public static void splitStr() { St ...
- 题解 e
传送门 第一眼看貌似可以树剖,然而那个绝对值不知怎么维护 求最小连通块我只会\(k^2\) 主席树貌似可以用来查询区间内与某个数差的绝对值的最小值? 确实,每次查大于等于该数的最小数和小于等于该数的最 ...
- css内容渐入效果实现
.fade-in-section { opacity: 0; transform: translateY(20vh); visibility: hidden; transition: opacity ...
- .Net 5 新特性之--支持字典在迭代中进行修改
我们都知道以前字典迭代中是不支持动态修改的[否则会报错::"Collection was modified; enumeration operation may not execute.&q ...
- 如何在github上传本地项目代码
首先你要在github上申请一个账号 网址:https://github.com/ 然后你要下载一个git工具 网址:https://gitforwindows.org/ 进入官网直接下载就行,下载完 ...