推荐一首歌

  - 《往后余生》王贰浪

发现自己每天就听这么几首歌

一:慢查询日志

  - 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 日志结构》的更多相关文章

  1. 简单物联网:外网访问内网路由器下树莓派Flask服务器

    最近做一个小东西,大概过程就是想在教室,宿舍控制实验室的一些设备. 已经在树莓上搭了一个轻量的flask服务器,在实验室的路由器下,任何设备都是可以访问的:但是有一些限制条件,比如我想在宿舍控制我种花 ...

  2. 利用ssh反向代理以及autossh实现从外网连接内网服务器

    前言 最近遇到这样一个问题,我在实验室架设了一台服务器,给师弟或者小伙伴练习Linux用,然后平时在实验室这边直接连接是没有问题的,都是内网嘛.但是回到宿舍问题出来了,使用校园网的童鞋还是能连接上,使 ...

  3. 外网访问内网Docker容器

    外网访问内网Docker容器 本地安装了Docker容器,只能在局域网内访问,怎样从外网也能访问本地Docker容器? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Docker容器 ...

  4. 外网访问内网SpringBoot

    外网访问内网SpringBoot 本地安装了SpringBoot,只能在局域网内访问,怎样从外网也能访问本地SpringBoot? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装Java 1 ...

  5. 外网访问内网Elasticsearch WEB

    外网访问内网Elasticsearch WEB 本地安装了Elasticsearch,只能在局域网内访问其WEB,怎样从外网也能访问本地Elasticsearch? 本文将介绍具体的实现步骤. 1. ...

  6. 怎样从外网访问内网Rails

    外网访问内网Rails 本地安装了Rails,只能在局域网内访问,怎样从外网也能访问本地Rails? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Rails 默认安装的Rails端口 ...

  7. 怎样从外网访问内网Memcached数据库

    外网访问内网Memcached数据库 本地安装了Memcached数据库,只能在局域网内访问,怎样从外网也能访问本地Memcached数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装 ...

  8. 怎样从外网访问内网CouchDB数据库

    外网访问内网CouchDB数据库 本地安装了CouchDB数据库,只能在局域网内访问,怎样从外网也能访问本地CouchDB数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Cou ...

  9. 怎样从外网访问内网DB2数据库

    外网访问内网DB2数据库 本地安装了DB2数据库,只能在局域网内访问,怎样从外网也能访问本地DB2数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动DB2数据库 默认安装的DB2 ...

  10. 怎样从外网访问内网OpenLDAP数据库

    外网访问内网OpenLDAP数据库 本地安装了OpenLDAP数据库,只能在局域网内访问,怎样从外网也能访问本地OpenLDAP数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动 ...

随机推荐

  1. 非root用户如何使用docker命令

    docker命令默认只能root使用的,但我们可以赋权给其他用户,使用时先照常新建用户: [root@10 ~]# useradd docker [root@10 ~]# passwd docker ...

  2. FilenameFilter总结

    一.FilenameFilter介绍   java.io.FilenameFilter是文件名过滤器,用来过滤不符合规格的文件名,并返回合格的文件: 一般地: (1)String[] fs = f.l ...

  3. easyui-combox(tagbox) 多选操作 显示为tagbox

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  4. excel 2007 无法输入中文

    解决方法: 1.32位系统:找到C:\Program Files\Common Files\Microsoft Shared\OFFICE12\Office Setup Controller,将这个文 ...

  5. django 单元测试错误总结

    TestCase django自带有一个TestCase模块来进行测试,我们可以参考官网 来写单元测试的代码.我这里主要是总结一些错误. 用户无法登陆 我们有些api登录后才可以进行测试,所以我们可以 ...

  6. [hadoop] hadoop 运行 wordcount

    讲准备好的文本文件放到hdfs中 执行 hadoop 安装包中的例子 [root@hadoop01 mapreduce]# hadoop jar hadoop-mapreduce-examples-2 ...

  7. HttpWatch的Result中出现Aborted的原因分析

    我们在使用HttpWatch进行Web调试的过程中有时候会看到非HTTP Status Code(状态码)的值,例如:(Aborted). (Aborted)是HttpWatch中定义的三种非HTTP ...

  8. MangoDB学习笔记

    01. 数据库操作 1. 查看当前数据库名称 db 2. 查看所有数据库名称,列出所有在物理上存在的数据库 show dbs; 3. 切换数据库,如果数据库不存在也并不创建,直到插入数据或创建集合时数 ...

  9. Android中使用第三方jar包

    步骤: 方法1:Eclipse下, 右键工程, Build path, java build path, 选择libraries 在右边的按钮中点击“Add Library” 选择“User libr ...

  10. 使用LevelListDrawable实现Html.fromHtml多张图片显示

    stackoverflow网站果然强大,帮了我不少忙! http://stackoverflow.com/questions/16179285/html-imagegetter-textview 首先 ...