解决问题:

了解MySQL日志?

怎样查看错误日志?

怎样查看慢日志?

1. MySQL日志分类?

MySQL日志主要包含:错误日志、查询日志、慢查询日志、事务日志、二进制日志。

1.1 错误日志:

在MySQL数据库中,错误日志功能是默认开启的,而且无法被关闭。默认情况,错误日志存储在mysql数据库的数据文件中。错误日志文件通常的名称为hostname.err(hostname表示服务器的主机名)。

错误日志可以自己配置,错误日志可以通过log-error和log-warnings来定义,其中log-error:配置是否启用错误日志功能和错误日志的存储位置?log-warning:配置是否将警告信息也定义至错误日志中?

错误日志记录信息:服务器启动关闭信息、运行错误信息、时间调度器运行一个事件时产生的信息、在服务器上启动进程产生的信息。

1.2 查询日志:

默认情况,查询日志是关闭的。因为查询日志会记录用户所有的操作,其中还包括增删改查等信息,如果在高并发的环境下会产生大量的信息,导致不必要的磁盘IO,会影响mysql的性能。

1.3 慢日志:

慢查询日志是用来记录执行时间超过指定时间的查询语句。通过慢查询日志,可以查找出哪些查询语句的执行效率很低,以便进行优化。一般建议开启,它对服务器性能影响很小,但是可以记录MySQL服务器上执行很长时间的查询语句。可以帮助我们定义性能问题。

1.4 事务日志:

事务日志(InnoDB特有的日志)可以帮助提高事务的效率。使用事务日志,存储引擎在修改表的数据时只需要修改其内存拷贝,再把改修改行为记录到持久在硬盘上的事务日志中,而不用每次都将修改的数据本身持久到磁盘。事务日志采用追加的方式,因此写日志的操作是磁盘上一小块区域内的顺序I/O,而不像随机I/O需要在磁盘的多个地方移动磁头,所以采用事务日志的方式相对来说要快得多。事务日志持久以后,内存中被修改的数据在后台可以慢慢的刷回到磁盘。目前大多数的存储引擎都是这样实现的,我们通常称之为预写式日志,修改数据需要写两次磁盘。如果数据的修改已经记录到事务日志并持久化,但数据本身还没有写回磁盘,此时系统崩溃,存储引擎在重启时能够自动恢复这部分修改的数据。具有的恢复方式则视存储引擎而定。

1.5 二进制日志:

二进制日志也叫作变更日志,主要用于记录修改数据或有可能引起数据改变的mysql语句,并且记录了语句发生时间、执行时长、操作的数据等等。所以说通过二进制日志可以查询mysql数据库中进行了哪些变化。一般大小体积上限为1G。

2. 查看日志信息?

2.1 查看日志信息

mysql> show global variables like '%log%';+-----------------------------------------+--------------------------------+

| Variable_name | Value |

+-----------------------------------------+--------------------------------+

| back_log | 250 |

| binlog_cache_size | 32768 |

| binlog_checksum | CRC32 |

| binlog_direct_non_transactional_updates | OFF |

| binlog_error_action | IGNORE_ERROR |

| binlog_format | STATEMENT |

| binlog_gtid_simple_recovery | OFF |

| binlog_max_flush_queue_time | 0 |

| binlog_order_commits | ON |

| binlog_row_image | FULL |

| binlog_rows_query_log_events | OFF |

| binlog_stmt_cache_size | 32768 |

| binlogging_impossible_mode | IGNORE_ERROR |

| expire_logs_days | 0 |

| general_log | OFF |

| general_log_file | /var/lib/mysql/kafka2.log |

| innodb_api_enable_binlog | OFF |

| innodb_flush_log_at_timeout | 1 |

| innodb_flush_log_at_trx_commit | 2 | ===>【事务日志】详解[1]

| innodb_locks_unsafe_for_binlog | OFF |

| innodb_log_buffer_size | 33554432 |

| innodb_log_compressed_pages | ON |

| innodb_log_file_size | 536870912 |

| innodb_log_files_in_group | 2 | ===>【事务日志】至少2个

| innodb_log_group_home_dir | ./ | ===>【事务日志】定义innodb事务日志组的文件目录

| innodb_mirrored_log_groups | 1 | ===>【事务日志】表示对日志组做镜像

| innodb_online_alter_log_max_size | 134217728 |

| innodb_undo_logs | 128 |

| log_bin | OFF |

| log_bin_basename | |

| log_bin_index | |

| log_bin_trust_function_creators | OFF |

| log_bin_use_v1_row_events | OFF |

| log_error | ./kafka2.err | ===>【错误日志】错误日志输出目录以及错误日志文件名

| log_output | FILE |

| log_queries_not_using_indexes | OFF |

| log_slave_updates | OFF |

| log_slow_admin_statements | OFF |

| log_slow_slave_statements | OFF |

| log_throttle_queries_not_using_indexes | 0 |

| log_warnings | 1 | ===>【错误日志】是否把警告信息添加进错误日志中

| max_binlog_cache_size | 18446744073709547520 |

| max_binlog_size | 1073741824 |

| max_binlog_stmt_cache_size | 18446744073709547520 |

| max_relay_log_size | 0 |

| relay_log | |

| relay_log_basename | |

| relay_log_index | |

| relay_log_info_file | relay-log.info |

| relay_log_info_repository | FILE |

| relay_log_purge | ON |

| relay_log_recovery | OFF |

| relay_log_space_limit | 0 |

| simplified_binlog_gtid_recovery | OFF |

| slow_query_log | OFF | ===>【慢日志】查看慢日志是否开启

| slow_query_log_file | /var/lib/mysql/kafka2-slow.log | ===>【慢日志】查看慢日志的文件目录以及文件名

| sql_log_bin | ON |

| sql_log_off | OFF |

| sync_binlog | 0 |

| sync_relay_log | 10000 |

| sync_relay_log_info | 10000 |

+-----------------------------------------+--------------------------------+

61 rows in set (0.00 sec)

2.2 查看慢日志超时时间

mysql> show global variables like 'long%';

其中这个慢查询时间并不是只表示语句自身执行超过10秒还包含由于其他资源被征用造成阻塞的查询执行时间或其他原因等都被记录到慢查询中。所以这个慢查的时长表示从查询开始到查询结束中间包含可能的任何原因所经历的所有时间。

4. 慢日志?

5. 事务日志

事务日志(InnoDB特有的日志)可以帮助提高事务的效率。

5.1 查看事务日志

innodb_flush_log_at_trx_commit:在事务提交时innodb是否同步日志从缓冲到文件中1表示事务以提交就同步不提交每隔一秒同步一次,性能会很差造成大量的磁盘I/O;定义为2表示只有在事务提交时才会同步但是可能会丢失整个事务。

innodb_log_group_home_dir:定义innodb事务日志组的位置。

innodb_mirrored_log_groups:表示对日志组做镜像。

6 二进制文件

二进制日志也叫作变更日志,主要用于记录修改数据或有可能引起数据改变的mysql语句,并且记录了语句发生时间、执行时长、操作的数据等等。所以说通过二进制日志可以查询mysql数据库中进行了哪些变化。一般大小体积上限为1G。

6.1 查看

mysql> show global variables like "%log_bin%";

sql_log_bin ={ON|OFF}用于控制会话级别二进制日志功能的开启或关闭。默认为ON,表示启用记录功能。用户可以在会话级别修改此变量的值,但其必须具有SUPER权限。

binlog_cache_size =32768#默认值32768 Binlog Cache用于在打开了二进制日志(binlog)记录功能的环境,是MySQL 用来提高binlog的记录效率而设计的一个用于短时间内临时缓存binlog数据的内存区域。一般来说,如果我们的数据库中没有什么大事务,写入也不是特别频繁,2MB~4MB是一个合适的选择。但是如果我们的数据库大事务较多,写入量比较大,可与适当调高binlog_cache_size。同时,我们可以通过binlog_cache_use 以及 binlog_cache_disk_use来分析设置的binlog_cache_size是否足够,是否有大量的binlog_cache由于内存大小不够而使用临时文件(binlog_cache_disk_use)来缓存了。

binlog_stmt_cache_size= 32768#当非事务语句使用二进制日志缓存,但是超出binlog_stmt_cache_size时,使用一个临时文件来存放这些语句。

log_bin = mysql-bin#指定binlog的位置,默认在数据目录下。

mysql如何查看事务日记_MySQL日志查看详解相关推荐

  1. mysql如何查看事务日记_MySQL中的几种日志了解

    前言 MySQL中有以下日志文件,分别是: 1:重做日志(redo log) 2:回滚日志(undo log) 3:二进制日志(binlog) 4:错误日志(errorlog) 5:慢查询日志(slo ...

  2. mysql如何查看事务日记_Mysql事务和Mysql 日志

    事务特性 1.原子性(Atomicity):事务开始后所有操作,要么全部做完,要么全部不做,不可能停滞在中间环节. 2.一致性(Consistency):事务开始前和结束后,数据库的完整性约束没有被破 ...

  3. mysql 储存过程放到哪_MySQL储存过程详解

    我们常用的操作数据库语言SQL语句在执行的时候需要要先编译,然后执行,而存储过程(Stored Procedure)是一组为了完成特定功能的SQL语句集,经编译后存储在数据库中,用户通过指定存储过程的 ...

  4. mysql单表查询实例_MySQL简单查询详解-单表查询

    MySQL简单查询详解-单表查询 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.查询的执行路径 一条SQL查询语句的执行过程大致如下图所示: 1>.客户端和服务端通过my ...

  5. mysql存储引擎简书_MySQL存储引擎详解

    一,基础 1,插件式存储引擎,允许第三方组织,根据其api来设计,很多功能需要依赖引擎支持,比如事务 2, 5.5以后默认为innodb,之前为myISAM,innodb支持事务,myISAM不支持 ...

  6. mysql 大量数据 更改索引_Mysql索引数据结构详解与索引优化

    本篇文章主要学习了MySQL的索引的数据结构的认识,做一个大概的了解即可. 一.索引 在关系数据库中,索引是一种单独的.物理的对数据库表中一列或多列的值进行排序的一种存储数据结构,它是某个表中一列或若 ...

  7. MySql数据库explain用法示例_mysql explain用法详解

    explain显示了mysql如何使用索引来处理select语句以及连接表.可以帮助选择更好的索引和写出更优化的查询语句. 使用方法,在select语句前加上explain就可以了,如: explai ...

  8. linux查看根目录使用率,Linux 查看空间使用情况的实例详解

    Linux 查看空间使用情况的实例详解 在日常的Linux巡检中,我们会遇到文件系统目录使用空间很高的情况,例如如下利用"df -h "查看到根目录空间使用超过80%.而我们仅仅知 ...

  9. linux查看空间使用情况并且清除,科技常识:Linux 查看空间使用情况的实例详解...

    今天小编跟大家讲解下有关Linux 查看空间使用情况的实例详解 ,相信小伙伴们对这个话题应该也很关注吧,小编也收集到了有关Linux 查看空间使用情况的实例详解 的相关资料,希望小伙伴会喜欢也能够帮助 ...

最新文章

  1. php中操作mysql的函数库
  2. 如何保护Ubuntu 16.04上的NGINX Web服务器
  3. AI一分钟 | 北京发放自动驾驶首批牌照,百度获准测试;亿航美国分公司申请破产,债务高达数百万美元
  4. C# PictureBox加载图片并显示进度条
  5. Moblieye副总裁交流纪要
  6. CF1009F-Dominant Indices【长链剖分】
  7. AlarmManager使用注意事项
  8. Windows Server 2008 R2之活动目录回收站
  9. 层次聚类 簇数_聚类(一):K-means、层次、DBSCAN、均值漂移、K-Means 与 KNN
  10. spring5.0学习笔记6
  11. 断点下载神器-RandomAccessFile
  12. WTL的CBitmapButton在MFC下完美使用
  13. 图片过大怎么压缩?3个免费方法让图片变小
  14. 微软推出 Go 语言免费中文教程,真香!
  15. php拼车网源码,PHP拼车网源码 微信拼车源码 手机拼车源码 PC+微信双终端
  16. Tomcat对Servlet规范的Filter及Listener实现
  17. powerdesigner 16.5 破解步骤
  18. DNBFT共识——一种可动态调节网络节点数的PBFT优化方案
  19. 自适应云呼HTML官网源码
  20. 2020.10.19 第18节 预处理和宏定义

热门文章

  1. python打开文件并读取内容-Python实现的读取文件内容并写入其他文件操作示例
  2. python填写excel-Python向excel中写入数据的方法
  3. python都可以干什么-python都可以做什么用
  4. 精通python爬虫框架-精通Python爬虫框架Scrapy
  5. python将数字转变为中文读法-python中将阿拉伯数字转换成中文的实现代码
  6. python爬虫抓取图片-python网络爬虫源代码(可直接抓取图片)
  7. python自带库处理excel-python处理excel之第三方库openpyxl
  8. Map中的key,value null取值
  9. react源码学习笔记
  10. Fisher_Yates算法