mysql日志总结
1.mysql慢查询设置
log-slow-queries=/alidata/mysql-log/mysql-slow.log
long_query_time = 1
log-queries-not-using-indexes
这段放到[mysqld]下面
2.mysql错误日志
show variables like '%log_error%'
3.general,普通日志,记录所有的sql语句
show global variables like '%general%';
mysql 打开 general log 后,所有的查询语句都会记录在 general log 文件,文件为只读方式,但这样general log文件会非常大,所以默认是关闭的。
但有时需要查错等原因,暂时需要打开general log。
4.二进制日志 binlog
show variables like 'log_bin';
=========================================================================================
Mysql的日志包括如下几种日志:
- 错误日志
- 普通查询日志
- 二进制日志
- 慢查询日志
Mysql版本
此文档测试mysql的版本为
[root@mysql-dev01 bin]# ./mysql -V
./mysql Ver 14.14 Distrib 5.7.14, for Linux (x86_64) using EditLine wrapper
错误日志 error log
Mysql错误日志主要记录Mysql实例每次启动、停止的详细信息,以及Mysql实例运行过程中产生的警告或者错误信息,与其它日志不同,Mysql错误日志必须开启,无法关闭。
与错误日志相关的参数:
log_error:设置了错误日志文件的物理位置。
mysql> show global variables like 'log_error';
+---------------+-----------------------------+
| Variable_name | Value |
+---------------+-----------------------------+
| log_error | /mysql/data/mysql-dev01.err |
+---------------+-----------------------------+
1 row in set (0.01 sec)
log_warnings:设置是否将警告信息也写入到错误日志中。默认是2,如果想要禁用,将其设置为0。
mysql> show global variables like 'log_warnings';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| log_warnings | 2 |
+---------------+-------+
1 row in set (0.01 sec)
普通查询日志 general log
Mysql general log记录了Mysql运行的所有操作,无论这些操作执行成功与否。另外还包括一些事件,例如客户端连接断开的一些信息,默认不开启。
与general log相关的参数:
general_log:设置general log是否开启。
mysql> show global variables like 'general_log';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| general_log | ON |
+---------------+-------+
1 row in set (0.01 sec)
我们可以通过下面方式设置
mysql> set @@global.general_log = 0;
Query OK, 0 rows affected (0.01 sec)
mysql> show global variables like 'general_log';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| general_log | OFF |
+---------------+-------+
1 row in set (0.00 sec)
mysql> set @@global.general_log = 1;
Query OK, 0 rows affected (0.00 sec)
mysql> show global variables like 'general_log';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| general_log | ON |
+---------------+-------+
1 row in set (0.00 sec)
我们同样可以采用my.cnf中添加general_log=on/off;此时我们使用set方式修改会不起作用。
general_log_file:general_log开启后,数据库将自动创建日志文件,次参数设置了general_log文件存放的物理位置。
mysql> show global variables like 'general_log_file';
+------------------+-----------------------------+
| Variable_name | Value |
+------------------+-----------------------------+
| general_log_file | /mysql/data/mysql-dev01.log |
+------------------+-----------------------------+
1 row in set (0.01 sec)
log_output:设置了general log和慢日志内存存储的方式,默认是file
mysql> show global variables like 'log_output';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| log_output | FILE |
+---------------+-------+
1 row in set (0.01 sec)
可以设置为输出方式为table
mysql> set @@global.log_output = 'table';
Query OK, 0 rows affected (0.00 sec)
mysql> show global variables like 'log_output';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| log_output | TABLE |
+---------------+-------+
1 row in set (0.00 sec)
通过mysql数据库下的general_log表查询日志信息
mysql> select * from mysql.general_log;
+----------------------------+---------------------------+-----------+-----------+--------------+------------------------------------------+
| event_time | user_host | thread_id | server_id | command_type | argument |
+----------------------------+---------------------------+-----------+-----------+--------------+------------------------------------------+
| 2016-11-16 09:18:57.772842 | root[root] @ localhost [] | 4 | 1 | Query | show global variables like 'log_output' |
| 2016-11-16 09:20:35.328694 | root[root] @ localhost [] | 4 | 1 | Query | show global variables like 'general_log' |
| 2016-11-16 09:20:44.918671 | root[root] @ localhost [] | 4 | 1 | Query | show databases |
| 2016-11-16 09:21:03.587735 | root[root] @ localhost [] | 4 | 1 | Query | select * from mysql.general_log |
+----------------------------+---------------------------+-----------+-----------+--------------+------------------------------------------+
4 rows in set (0.00 sec)
慢日志 slow query log
慢日志记录执行时间过程和没有使用索引的查询语句,报错select、update、delete以及insert语句,慢日志只会记录执行成功的语句。
与慢日志相关的参数:
slow_query_log:设置慢日志是否开启。
mysql> show global variables like 'slow_query_log';
+----------------+-------+
| Variable_name | Value |
+----------------+-------+
| slow_query_log | OFF |
+----------------+-------+
1 row in set (0.00 sec)
可以通过设置参数进行修改
mysql> set @@global.slow_query_log = 1;
Query OK, 0 rows affected (0.00 sec)
mysql> show global variables like 'slow_query_log';
+----------------+-------+
| Variable_name | Value |
+----------------+-------+
| slow_query_log | ON |
+----------------+-------+
1 row in set (0.01 sec)
mysql> set @@global.slow_query_log = 0;
Query OK, 0 rows affected (0.00 sec)
mysql> show global variables like 'slow_query_log';
+----------------+-------+
| Variable_name | Value |
+----------------+-------+
| slow_query_log | OFF |
+----------------+-------+
1 row in set (0.00 sec)
slow_query_log_file:设置慢日志的文件地址
mysql> show global variables like 'slow_query_log_file';
+---------------------+----------------------------------+
| Variable_name | Value |
+---------------------+----------------------------------+
| slow_query_log_file | /mysql/data/mysql-dev01-slow.log |
+---------------------+----------------------------------+
1 row in set (0.01 sec)
long_query_time:设置慢查询的时间阀值,默认是10秒。
mysql> show global variables like 'long_query_time';
+-----------------+-----------+
| Variable_name | Value |
+-----------------+-----------+
| long_query_time | 10.000000 |
+-----------------+-----------+
1 row in set (0.01 sec)
log_queries_not_using_indexes:设置没有使用索引的查询语句是否记录在慢日志文件中。
mysql> show global variables like 'log_queries_not_using_indexes';
+-------------------------------+-------+
| Variable_name | Value |
+-------------------------------+-------+
| log_queries_not_using_indexes | OFF |
+-------------------------------+-------+
1 row in set (0.01 sec)
log_output:详见general_log。
慢日志查看
慢日志地查询分为两种情形,慢查询日志的数据形式设置为table以及数据方式设置为file.
table:
采用mysql.slow_log进行查询。
file:
可以执行查看原文本文件,或者采用mysqldumpslow.pl获取慢日志摘要。
二进制日志 binlog
二进制日记记录数据库的变化情况,内容报错数据库所有的更新操作,ddl和dml。数据库管理员可以通过二进制日志查看数据库过去某一时刻发生了哪些变化,必要时可以使用二进制日志恢复数据库。二进制文件内容为二进制信息,不可直接查看。
与二进制文件相关的参数:
log_bin:查看二进制文件是够开启
mysql> show global variables like 'log_bin';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| log_bin | ON |
+---------------+-------+
1 row in set (0.00 sec)
mysql> show variables like 'log_bin';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| log_bin | ON |
+---------------+-------+
1 row in set (0.01 sec)
log_bin_index:记录二进制文件的清单
mysql> show variables like 'log_bin_index';
+---------------+---------------------------------+
| Variable_name | Value |
+---------------+---------------------------------+
| log_bin_index | /mysql/data/mysql-bin-log.index |
+---------------+---------------------------------+
1 row in set (0.00 sec)
这两个参数都是静态变量,无法使用set命令对其进行修改赋值。只能通过my.cnf文件设置
mysql日志总结的更多相关文章
- Mysql日志解析
修改Mysql配置 Mysql配置地址为: C:\Program Files (x86)\MySQL\MySQL Server 5.5 如果无法修改可以把my.ini拷贝出来,修改完后,再拷贝回去! ...
- Mysql 日志 (转)
MySQL日志: 主要包含:错误日志.查询日志.慢查询日志.事务日志.二进制日志: 错误日志 在mysql数据库中,错误日志功能是默认开启的.并且,错误日志无法被禁止.默认情况下,错误日志存储在mys ...
- mysql日志与备份恢复
一.mysql日志: mysql的日志种类有很多,常见的有二进制日志,一般查询日志,满查询日志,中继日志,事务日志等,具体信息可以通过 mysql> SHOW GLOBAL VARIABLES ...
- mysql日志开启和查看
mysql日志开启和查看. 找到mysql根目录下的my.ini文件,打开在下面插入 log-bin=mysql-bin binlog_format=mixed 然后重启mysql. 在dos端登录m ...
- MySQL日志管理
MySQL日志管理 2013年09月26日 ⁄ MySQL ⁄ 共 14266字 ⁄ 评论数 ⁄ 被围观 , views+ 一.日志类型: MySQL有几个不同的日志文件,可以帮助你找出mysqld内 ...
- Mysql日志操作
Mysql日志 mysql的日志类型:错误日志: -log-err记录mysql服务的启动.运行.停止mysql服务时出现的问题查询日志: -log记录建立的客户端连接和执行的语句慢查询日志: -lo ...
- mysql日志详细解析
MySQL日志: 主要包含:错误日志.查询日志.慢查询日志.事务日志.二进制日志: 日志是mysql数据库的重要组成部分.日志文件中记录着mysql数据库运行期间发生的变化:也就是说用来记录mysql ...
- 如何查询MySql日志
如何查询MySql日志 分类: mysql2012-02-23 19:14 26756人阅读 评论(2) 收藏 举报 mysqlcommandprintingserversocketoutput 今天 ...
- MYSQL启动报1067错误,系统日志中是“服务 mysql 意外停止” Mysql日志中则是:“Plugin \'FEDERATED\' is disabled”
MYSQL启动报1067错误,系统日志中是"服务 mysql 意外停止" Mysql日志中则是:"Plugin \'FEDERATED\' is disabled&quo ...
- MySQL日志功能
1.查询日志 log={ON|OFF}:是否记录所有语句的日志信息于一般查询日志文件(general_log); log_output={TABLE|FILE|NONE},TABLE和FILE可以同时 ...
随机推荐
- IDEA下配置Spring Boot的热部署
© 版权声明:本文为博主原创文章,转载请注明出处 devtools简介 spring-boot-devtools会监听classpath下的文件变动,并且会立即重启应用(发生在保存时机),因为其采用的 ...
- Unity3d 实现鼠标左键点击地形使角色移动到指定地点[脚本]
Unity3d 实现鼠标左键点击地形使角色移动到指定地点[脚本] 2013-02-19 15:29:33 我来说两句 作者:nnsword 收藏 我要投稿 其中涉及,移动速度, ...
- [Java]事件驱动程序设计
事件驱动模型三大要素 1)事件源:能接收外部事件的源体: 2)监听器xListener:能接收事件源通知的对象: 3)处理器Handler:用于处理事件的对象. 在Java中使用监听器对象处理事件的方 ...
- Unix下网络编程概述
这部分我要学习的是Unix下的网络编程,参照的书籍是W. Richard. Stevens的<Unix网络编程>卷一和卷二,由于本身现在从事的工作是java后台开发,对客户端-服务器的这种 ...
- 谨慎使用ArrayList中的subList方法
转自:https://www.toutiao.com/a6705958780460335619/?tt_from=weixin&utm_campaign=client_share&wx ...
- mysql 与mongodb的特点与优劣
首先我们来分析下mysql 与mongodb的特点与优劣.下面是我以前做的ppt的部分截图. 再来分析下应用场景,a.如果需要将mongodb作为后端db来代替mysql使用,即这里mysql与mon ...
- mysql-proxy做客户端连接转发【外网访问内网mysql】
功能 用于外网客户端连接内网的MySQL,将此工具安装在中转服务器上. 软件版本 mysql-proxy-0.8.1-linux-rhel5-x86-64bit.tar.gz 简单的配置过程 解压后有 ...
- Java引用类型作为形参和返回值
一.什么是引用类型 在Java中引用类型包括三种:类.抽象类.接口. 二.引用类型作为形参使用 1.类作为形参 /** * 类作为形参,实际传递的是该类的对象 */ class Student { p ...
- 3354 [IOI2005]河流
题目描述 几乎整个Byteland王国都被森林和河流所覆盖.小点的河汇聚到一起,形成了稍大点的河.就这样,所有的河水都汇聚并流进了一条大河,最后这条大河流进了大海.这条大河的入海口处有一个村庄——名叫 ...
- <%%>与<scriptrunat=server>,<%=%>与<%#%>的区别(转)
这些东西都是asp.net前台页面与后台代码交互过程中经常使用的,它们之间有的非常相似,又有一些不同.对比学习下,看看他们之间的联系与区别. 首先看<%%>与<scriptrunat ...