推荐一首歌

  - 《往后余生》王贰浪

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

一:慢查询日志

  - 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. 学习MongoDB(Troubleshoot Replica Sets) 集群排除故障

    Test Connections Between all Members(集群中节点网络测试) 在进行Mongodb集群时,每个节点的网络都需要互动,假设有3个服务器节点. m1.example.ne ...

  2. FatTree拓扑结构

    FatTree拓扑结构是由MIT的Fares等人在改进传统树形结构性能的基础上提出的,属于switch-only型拓扑. 整个拓扑网络分为三个层次:自上而下分别为边缘层(edge).汇聚层(aggre ...

  3. windows下MySQL免安装版配置教程mysql-5.7.24-winx64.zip版本

    一. 以管理员身份运行cmd,进入mysql的bin目录 执行以下代码. #初始化数据库 mysqld --initialize #初始化不会显示密码mysqld --initialize --con ...

  4. c# 正则匹配对称括号

    https://stackoverflow.com/questions/7898310/using-regex-to-balance-match-parenthesis

  5. irc

    https://www.irccloud.com/ webchat.freenode.net http://blog.csdn.net/wcc526/article/details/16993069 ...

  6. [Tensorflow] Cookbook - The Tensorflow Way

    本章介绍tf基础知识,主要包括cookbook的第一.二章节. 方针:先会用,后定制 Ref: TensorFlow 如何入门? Ref: 如何高效的学习 TensorFlow 代码? 顺便推荐该领域 ...

  7. SpringBoot Druid整合,SpringBoot 集成Druid

    SpringBoot Druid整合,SpringBoot 集成Druid ================================ ©Copyright 蕃薯耀 2018年4月8日 http ...

  8. Python2.7字符编码详解

    目录 Python2.7字符编码详解 声明 一. 字符编码基础 1.1 抽象字符清单(ACR) 1.2 已编码字符集(CCS) 1.3 字符编码格式(CEF) 1.3.1 ASCII(初创) 1.3. ...

  9. Python实现Linux命令xxd -i功能

    目录 Python实现Linux命令xxd -i功能 声明 一. Linux xxd -i功能 二. xxd -i常见用途 三. 类xxd -i功能的Python实现 Python实现Linux命令x ...

  10. [ASP.NET MVC]视图是如何呈现的

    为了搞清楚ASP.NET MVC的请求过程,我们计划从结果追踪到源头.使用VS2012创建一个空白的ASP.NET MVC项目 然后创建一个HelloController 创建一个HelloView. ...