《Mysql 日志结构》
推荐一首歌
发现自己每天就听这么几首歌
一:慢查询日志
- SQL 完成查询并完成对于锁资源的释放之后,msqld 会将符合条件的SQL写入慢日志。因此慢日志可能和执行顺序不一样。
- 主要参数
- slow_query_log 是否输出慢查询日志 ON为开启 / OFF为关闭
- slow_query_log_file 指定日志文件路径和文件名
- log_query_time 设定慢查询日志时间阙值,单位/s,默认为10s。
- log_queries_not_using_indexes 是否将未使用索引的SQL输出到日志
- 配置 慢查询
设置开启慢查询
mysql> set global slow_query_log='ON';
Query OK, rows affected (0.00 sec) 设置超时时间
mysql> set global long_query_time=;
Query OK, rows affected (0.00 sec) 设置查找未使用索引
mysql> set global log_queries_not_using_indexes='ON';
Query OK, rows affected (0.00 sec)
- 注意,在开启慢日志查询之后,可能会产生大量的慢查询日志需要处理,及时的注意日志文件大小和其他方面也是很重要的。
二:普通查询日志(输出所有SQL)
- general_log 是否输出日志
- general_log_file 定义日志的存储路径
三:在 MySQL 中,有哪些二进制?
- 两个比较重要的概念
- 二进制日志( Binary Log ) 记录数据库的修改事件
- 二进制日志文件( Binary Log File ) 保存数据库中修改事件的文件
四:二进制日志的作用是什么呢?
- 二进制日志的两个重要作用
- 主从复制 Mastr/slave
- 故障恢复
五:如何开启二进制日志?
- log_bin 是否开启二进制日志功能(默认的话是不启用的)
- 在开启时,主要注意,需要配置 server-id 同时 关闭 bind-address 的默认端口绑定
- max_binlog_size 来指定日志文件大小(当达到指定大小时,会生成新的日志文件)
- 对于非事务来说,语句执行之后会立即写入二进制日志中
- 对于事务来说,在收到更新操作后(CURD),会被缓存起来,直到收到 COMMIT ,才会将整个事务写入二进制文件中。
- 在处理事务时,会通过 binlog_cache_size 指定内存
- max_binlog_cache_size 来指定事务可以使用的最大缓存区,如果大于这个,事务会报错并回滚(最小为4096)
六:二进制日志是时时同步的么?
- 同 Redis 的 RDB 一样,二进制日志并不是时时同步到磁盘的
- sync_binlog (1s安全级别最高,同时也是最慢的设置)
- 在设置为1(秒)的情况下,也可能出现数据丢失的情况。
- 例如在 Innodb 下,操作已经写入二进制日志,但是还未写入提交,此时数据库崩溃,当数据库重启时,必然造成数据的回滚造成丢失。
- 为了解决这种问题,提供了 innodb_support_xa 设置该参数,启动分布式的事务支持,确保二进制日志和 Innodb 的数据文件同步
《Mysql 日志结构》的更多相关文章
- 简单物联网:外网访问内网路由器下树莓派Flask服务器
最近做一个小东西,大概过程就是想在教室,宿舍控制实验室的一些设备. 已经在树莓上搭了一个轻量的flask服务器,在实验室的路由器下,任何设备都是可以访问的:但是有一些限制条件,比如我想在宿舍控制我种花 ...
- 利用ssh反向代理以及autossh实现从外网连接内网服务器
前言 最近遇到这样一个问题,我在实验室架设了一台服务器,给师弟或者小伙伴练习Linux用,然后平时在实验室这边直接连接是没有问题的,都是内网嘛.但是回到宿舍问题出来了,使用校园网的童鞋还是能连接上,使 ...
- 外网访问内网Docker容器
外网访问内网Docker容器 本地安装了Docker容器,只能在局域网内访问,怎样从外网也能访问本地Docker容器? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Docker容器 ...
- 外网访问内网SpringBoot
外网访问内网SpringBoot 本地安装了SpringBoot,只能在局域网内访问,怎样从外网也能访问本地SpringBoot? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装Java 1 ...
- 外网访问内网Elasticsearch WEB
外网访问内网Elasticsearch WEB 本地安装了Elasticsearch,只能在局域网内访问其WEB,怎样从外网也能访问本地Elasticsearch? 本文将介绍具体的实现步骤. 1. ...
- 怎样从外网访问内网Rails
外网访问内网Rails 本地安装了Rails,只能在局域网内访问,怎样从外网也能访问本地Rails? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Rails 默认安装的Rails端口 ...
- 怎样从外网访问内网Memcached数据库
外网访问内网Memcached数据库 本地安装了Memcached数据库,只能在局域网内访问,怎样从外网也能访问本地Memcached数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装 ...
- 怎样从外网访问内网CouchDB数据库
外网访问内网CouchDB数据库 本地安装了CouchDB数据库,只能在局域网内访问,怎样从外网也能访问本地CouchDB数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Cou ...
- 怎样从外网访问内网DB2数据库
外网访问内网DB2数据库 本地安装了DB2数据库,只能在局域网内访问,怎样从外网也能访问本地DB2数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动DB2数据库 默认安装的DB2 ...
- 怎样从外网访问内网OpenLDAP数据库
外网访问内网OpenLDAP数据库 本地安装了OpenLDAP数据库,只能在局域网内访问,怎样从外网也能访问本地OpenLDAP数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动 ...
随机推荐
- 【30集iCore3_ADP出厂源代码(ARM部分)讲解视频】30-9底层驱动之USART
视频简介:该视频介绍iCore3应用开发平台中RTC的基本配置方法以及在应用开发平台中RS-232, RS-485,RS-232的硬件实现方法. 源视频包下载地址:链接:http://pan.baid ...
- javascript and jquery 代码块
1.5秒隐藏 (setTimeout ) setTimeout( function(){ $('.ad_midd').slideUp(); } , 5000 )
- java构造函数修饰符
java 构造函数,可以被访问修饰符修饰,而不能被特殊修饰符修饰:(在编译器经过测试) 访问修饰符: public (最常用,其他类的任何位置都可以访问) protected(能够在同一包中被子类访问 ...
- java InputStream和OutputStream
InputStream类型 类 功能 构造器参数 如何使用 ByteArrayInputStream 允许将内存的缓冲区当做InputStreams使用 缓冲区,字节将从中取出 作为一种数据源:将其与 ...
- Java知多少(93)鼠标事件
鼠标事件的事件源往往与容器相关,当鼠标进入容器.离开容器,或者在容器中单击鼠标.拖动鼠标时都会发生鼠标事件.java语言为处理鼠标事件提供两个接口:MouseListener,MouseMotionL ...
- C++ 智能指针五
/* 代码分析: 这是标准库的源码,我们看到在enable_shared_from_this内部保存了一个weak_ptr.shared_from_this函数就是通过这个weak_ptr得到了. 但 ...
- [UI] 05 - Bootstrap: built-in components
前言 一.资源 From: http://www.imooc.com/code/3777 内置组件 一.缩略图 <div class="col-xs-6 col-md-3"& ...
- sshpass: 用于非交互的ssh 密码验证
ssh登陆不能在命令行中指定密码,也不能以shell中随处可见的,sshpass 的出现,解决了这一问题.它允许你用 -p 参数指定明文密码,然后直接登录远程服务器. 它支持密码从命令行,文件,环境变 ...
- <aop:aspectj-autoproxy />作用
通过配置织入@Aspectj切面 虽然可以通过编程的方式织入切面,但是一般情况下,我们还是使用spring的配置自动完成创建代理织入切面的工作. 通过aop命名空间的<aop:aspectj-a ...
- 在一个由 'L' , 'R' 和 'X' 三个字符组成的字符串(例如"RXXLRXRXL")中进行移动操作。一次移动操作指用一个"LX"替换一个"XL",或者用一个"XR"替换一个"RX"。现给定起始字符串start和结束字符串end,请编写代码,当且仅当存在一系列移动操作使得start可以转换成end时, 返回True。
在一个由 'L' , 'R' 和 'X' 三个字符组成的字符串(例如"RXXLRXRXL")中进行移动操作.一次移动操作指用一个"LX"替换一个"XL ...