《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 安装并启动 ...
随机推荐
- 非root用户如何使用docker命令
docker命令默认只能root使用的,但我们可以赋权给其他用户,使用时先照常新建用户: [root@10 ~]# useradd docker [root@10 ~]# passwd docker ...
- FilenameFilter总结
一.FilenameFilter介绍 java.io.FilenameFilter是文件名过滤器,用来过滤不符合规格的文件名,并返回合格的文件: 一般地: (1)String[] fs = f.l ...
- easyui-combox(tagbox) 多选操作 显示为tagbox
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- excel 2007 无法输入中文
解决方法: 1.32位系统:找到C:\Program Files\Common Files\Microsoft Shared\OFFICE12\Office Setup Controller,将这个文 ...
- django 单元测试错误总结
TestCase django自带有一个TestCase模块来进行测试,我们可以参考官网 来写单元测试的代码.我这里主要是总结一些错误. 用户无法登陆 我们有些api登录后才可以进行测试,所以我们可以 ...
- [hadoop] hadoop 运行 wordcount
讲准备好的文本文件放到hdfs中 执行 hadoop 安装包中的例子 [root@hadoop01 mapreduce]# hadoop jar hadoop-mapreduce-examples-2 ...
- HttpWatch的Result中出现Aborted的原因分析
我们在使用HttpWatch进行Web调试的过程中有时候会看到非HTTP Status Code(状态码)的值,例如:(Aborted). (Aborted)是HttpWatch中定义的三种非HTTP ...
- MangoDB学习笔记
01. 数据库操作 1. 查看当前数据库名称 db 2. 查看所有数据库名称,列出所有在物理上存在的数据库 show dbs; 3. 切换数据库,如果数据库不存在也并不创建,直到插入数据或创建集合时数 ...
- Android中使用第三方jar包
步骤: 方法1:Eclipse下, 右键工程, Build path, java build path, 选择libraries 在右边的按钮中点击“Add Library” 选择“User libr ...
- 使用LevelListDrawable实现Html.fromHtml多张图片显示
stackoverflow网站果然强大,帮了我不少忙! http://stackoverflow.com/questions/16179285/html-imagegetter-textview 首先 ...