加入收藏 | 设为首页 | 会员中心 | 我要投稿 云计算网_泰州站长网 (http://www.0523zz.com/)- 视觉智能、AI应用、CDN、行业物联网、智能数字人!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

MySQL慢查视日志

发布时间:2022-03-02 10:27:38 所属栏目:MySql教程 来源:互联网
导读:和大多数关系型数据库一样,日志文件是MySQL数据库的重要组成部分。MySQL有几种不同的日志文件,通常包括错误日志文件,二进制日志,通用日志,慢查询日志,等等。这些日志可以帮助我们定位mysqld内部发生的事件,数据库性能故障,记录数据的变更历史,用
       和大多数关系型数据库一样,日志文件是MySQL数据库的重要组成部分。MySQL有几种不同的日志文件,通常包括错误日志文件,二进制日志,通用日志,慢查询日志,等等。这些日志可以帮助我们定位mysqld内部发生的事件,数据库性能故障,记录数据的变更历史,用户恢复数据库等等。
 
<br>
 
MySQL日志文件系统的组成
1.错误日志:记录启动、运行或停止mysqld时出现的问题。
 
2.通用查询日志:记录建立的客户端连接和执行的语句。
 
3.更新日志:记录更改数据的语句。该日志在MySQL 5.1中已不再使用。
 
4.二进制日志:记录所有更改数据的语句。还用于主从复制。
 
5.慢查询日志:记录所有执行时间超过long_query_time秒的所有查询或不使用索引的查询。
 
6.Innodb日志:innodb redo log
 
7.中继日志:从库从主库获取到的要更新的数据的日志。
 
       默认情况下,所有日志创建于mysqld数据目录中。 可以通过刷新日志,来强制mysqld来关闭和重新打开日志文件(或者在某些情况下切换到一个新的日志)。当你执行一个FLUSH LOGS语句或执行mysqladmin flush-logs或mysqladmin refresh时,则日志被老化。对于存在MySQL复制的情形下,从复制服务器将维护更多日志文件,被称为接替日志。
 
<br>
 
通用查询日志
       在学习通用日志查询时,需要知道几个数据库中的常用命令:
 
1.show variables like '%version%';
 
这个命令,可以显示当前数据库中与版本号相关的信息。示例:
 
mysql> show variables like '%version%';  
+-------------------------+----------------+
| Variable_name           | Value          |
+-------------------------+----------------+
| innodb_version          | 5.7.14         |
| protocol_version        | 10             |
| slave_type_conversions  |                |
| version                 | 10.2.6-MariaDB |
| version_comment         | MariaDB Server |
| version_compile_machine | x86_64         |
| version_compile_os      | Linux          |
| version_malloc_library  | system         |
| version_ssl_library     | YaSSL 2.4.2    |
| wsrep_patch_version     | wsrep_25.19    |
+-------------------------+----------------+
10 rows in set (0.01 sec)
 
mysql>
       以下这个命令是用于查看当前的通用日志查询是否开启,如果general_log的值为ON则为开启,为OFF则为关闭(默认情况下是关闭的)。
 
2.show variables like '%general%';
 
示例:
 
mysql> show variables like '%general%';
+------------------+------------+
| Variable_name    | Value      |
+------------------+------------+
| general_log      | OFF        |
| general_log_file | server.log |
+------------------+------------+
2 rows in set (0.00 sec)
 
mysql>
以下这个命令是用于查看当前通用查询日志输出的格式,log_output的值可以是FILE(存储在数数据库的数据文件中的hostname.log),也可以是TABLE(存储在数据库中的mysql.general_log)。
 
3.show variables like '%log_output%';
 
mysql>
<br>
 
如何开启MySQL通用查询日志,以及使用何种方式去记录这些通用查询日志?
开启通用日志查询: set global general_log=on;
关闭通用日志查询: set global general_log=off;
设置将通用日志记录到数据库表格中: set globallog_output='TABLE';
设置将通用日志记录到本地文件中: set globallog_output='FILE';
设置将通用日志记录到数据库表和本地文件中:set global log_output='FILE,TABLE';

(编辑:云计算网_泰州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读