MySQL有以下几种日志:
  1,错误日志:记录启动、运行或停止时出现的问题,一般也会记录警告信息。
  2,一般查询日志:记录建立的客户端连接和执行的语句。
  3,慢查询日志:记录所有执行时间超过long_query_time秒的所有查询或不使用索引的查询,可以帮我们定位服务器性能问题。
  4,二进制日志:任何引起或可能引起数据库变化的操作,主要用于复制和即时点恢复。
  5,中继日志:从主服务器的二进制日志文件中复制而来的事件,并保存为的日志文件。
  6,事务日志:记录InnoDB等支持事务的存储引擎执行事务时产生的日志。

MySQL中对于日志文件的环境比变量非常多,可以使用以下命令来查看:
  mysql> show global variables like '%log%';

1,错误日志
错误日志主要记录如下几种日志:
   –> 服务器启动和关闭过程中的信息
   –> 服务器运行过程中的错误信息
   –> 事件调度器运行一个事件时产生的信息
   –> 在从服务器上启动从服务器进程时产生的信息
错误日志定义:
可以用–log-error [ = file_name ]选项来指定mysqld保存错误日志文件的位置。如果没有给定file_name值,mysqld使用错误日志名host_name.err 并在数据目录中写入日志文件。如果你执行FLUSH LOGS,错误日志用-old重新命名后缀并且mysqld创建一个新的空日志文件。(如果未给出–log-error选项,则不会重新命名)。
错误日志一般有以上两个变量可以定义:
  错误日志文件:log_error
  警告日志信息:log_warnings (默认启用)

2、一般查询日志
启动开关:general_log={ON|OFF}          //一般查询使用量比较大,启用写入日志文件,服务器的I/O操作较多,会大大降低服务器的性能,所以默认为关闭的。
日志文件变量:general_log_file [ =/PATH/TO/file]
全局日志开关:log={ON|OFF}            // 该开关打开后,所有日志都会被启用
记录类型:log_output={TABLE|FILE|NONE}    // log_output定义了日志的输出格式,可以是表,文件,若设置为NONE,则不启用日志。

因此,要启用通用查询日志,需要至少配置:
  general_log=ON,
  log_output={TABLE|FILE}。
  若general_log_file如果没有指定,默认名是host_name.log。

3、慢查询日志
查询超时时间:long_query_time                 //设定慢查询的阀值,超出设定值的SQL即被记录到慢查询日志,缺省值为10s
启动慢查日志:log_slow_queries={YES|NO}          //指定是否开启慢查询日志(该参数要被slow_query_log取代,做兼容性保留)
启动慢查日志 : slow_query_log                             //指定是否开启慢查询日志
日志记录文件:slow_query_log_file [= file_name ]     //指定慢日志文件存放位置,可以为空,系统会给一个缺省的文件host_name-slow.log

MySQL如果启用了slow_query_log=ON选项,就会记录执行时间超过long_query_time的查询(初使表锁定的时间不算作执行时间)。

4,二进制日志
二进制日志启动开关:log-bin [= file_name]
在5.6及以上版本一定要手动指定。5.6以下版本默认file_name为$datadir/mysqld-binlog,二进制日志用于记录所有更改数据的语句,主要用于复制和即时点恢复。二进制日志的主要目的是在数据库存在故障时,恢复时能够最大可能地更新数据库(即时点恢复),因为二进制日志包含备份后进行的所有更新,二进制日志还用于在主复制服务器上记录所有将发送给从服务器的语句。

查看二进制日志的工具为:mysqlbinlog
二进制日志的格式:
   > 基于语句: statement
     > 基于行: row
     > 混合方式: mixed
由于基于语句和基于行的日志格式都有自己的好处,MySQL使用的二进制日志文件是混合方式的二进制日志,内置策略会自动选择最佳的格式。
二进制日志事件:
    > 产生的时间:starttime
    > 相对位置:position
二进制日志文件:
    > 索引文件
    > 二进制日志文件
在数据目录下有一个mysql-bin.index便是索引文件,以mysql-bin开头并以数字结尾的文件为二进制日志文件。

日志的滚动:
MySQL的滚动方式与其他日志不太一样,滚动时会创建一个新的编号大1的日志用于记录最新的日志,而原日志名字不会被改变。每次重启MySQL服务,日志都会自动滚动一次。
另外如果需要手动滚动,则使用命令:

5,中继日志
mysql数据库主从复制时用到。

6,事务日志
事务性存储引擎用于保证(ACID)原子性、一致性、隔离性和持久性;其不会立即写到数据文件中,而是写到事务日志中。
 innodb_flush_log_at_trx_commit:
    –> 0: 每秒同步,并执行磁盘flush操作;
    –> 1:每事务同步,并执行磁盘flush操作;
    –> 2: 每事务同步,但不执行磁盘flush操作;

mysql-日志种类的更多相关文章

  1. mysql日志种类、二进制日志模式、mysqlbinlog解析二进制日志

    mysql日志的种类 二进制日志(binary log):记录数据更新的操作,mysqlbinlog 可查看二进制日志文件 错误日志(error log):记录mysql服务进程mysqld的启动.关 ...

  2. mysql日志与备份恢复

    一.mysql日志: mysql的日志种类有很多,常见的有二进制日志,一般查询日志,满查询日志,中继日志,事务日志等,具体信息可以通过 mysql> SHOW GLOBAL VARIABLES ...

  3. (十)MySQL日志

    1)日志种类 error log:错误日志 拍错 /var/log/mysqld.log \这是yum安装mysqld生成error默认目录 bin blog 二进制日志 备份 增量备份,记录DDL, ...

  4. Mysql日志解析

    修改Mysql配置 Mysql配置地址为: C:\Program Files (x86)\MySQL\MySQL Server 5.5 如果无法修改可以把my.ini拷贝出来,修改完后,再拷贝回去! ...

  5. Mysql 日志 (转)

    MySQL日志: 主要包含:错误日志.查询日志.慢查询日志.事务日志.二进制日志: 错误日志 在mysql数据库中,错误日志功能是默认开启的.并且,错误日志无法被禁止.默认情况下,错误日志存储在mys ...

  6. mysql日志开启和查看

    mysql日志开启和查看. 找到mysql根目录下的my.ini文件,打开在下面插入 log-bin=mysql-bin binlog_format=mixed 然后重启mysql. 在dos端登录m ...

  7. MySQL日志管理

    MySQL日志管理 2013年09月26日 ⁄ MySQL ⁄ 共 14266字 ⁄ 评论数 ⁄ 被围观 , views+ 一.日志类型: MySQL有几个不同的日志文件,可以帮助你找出mysqld内 ...

  8. Mysql日志操作

    Mysql日志 mysql的日志类型:错误日志: -log-err记录mysql服务的启动.运行.停止mysql服务时出现的问题查询日志: -log记录建立的客户端连接和执行的语句慢查询日志: -lo ...

  9. mysql日志详细解析

    MySQL日志: 主要包含:错误日志.查询日志.慢查询日志.事务日志.二进制日志: 日志是mysql数据库的重要组成部分.日志文件中记录着mysql数据库运行期间发生的变化:也就是说用来记录mysql ...

  10. 如何查询MySql日志

    如何查询MySql日志 分类: mysql2012-02-23 19:14 26756人阅读 评论(2) 收藏 举报 mysqlcommandprintingserversocketoutput 今天 ...

随机推荐

  1. Linux shell join命令详解

    Linux join命令 2012-02-09 17:49:00| 分类: SHELL | 标签:linux join 文件连接 |字号 订阅join命令 功能:“将两个文件里指定栏位同样的行连接起来 ...

  2. java中如何制作可双击执行的程序--jar打包工具的使用

    假定当前工作目录在E盘: 1.带包编译:javac -d c:\ MyMenuDemo.java 2.DOS命令行切换到c盘,注意,这里一般切换到的是用户文件目录,需要手动切换到C盘根目录 >C ...

  3. 【Flask】filter 常用查询条件

    1. equal    2. not equal  3. like, ilike  4.in  5. not in 6. is null  7. is not null  8. and  9. or ...

  4. CSS3环形动画菜单

    在线演示 本地下载

  5. DL三(向量化编程 Vectorized implementation)

    向量化编程实现 Vectorized implementation 一向量化编程 Vectorization 1.1 基本术语 向量化 vectorization 1.2 向量化编程(Vectoriz ...

  6. spring boot项目遇到 'lower_case_table_names' 的解决办法

    今天自己搭建了spring boot项目,配置的是mysql数据库,启动时报如下错误 Mon Jan 22 23:31:40 CST 2018 WARN: Establishing SSL conne ...

  7. Oracle的select检索数据

    --Select语法 select [distinct | All] select_list from table_list [where_clause] [group_by_clause] [Hav ...

  8. Spring Boot- 设置拦截打印日志

    import org.aspectj.lang.annotation.After; import org.aspectj.lang.annotation.Aspect; import org.aspe ...

  9. 解决Eclipse和myeclipse在进行 html,jsp等 页面编辑时,自动格式化变丑的问题

    在eclipse和myelipse写JAVA代码时中使用ctrl+shift+f 快捷键自动排版省时又省力,排版后的代码规范美观又层次性,但在我们写jsp或html代码时,使用这个快捷键排版简直奇丑无 ...

  10. gradle_学习_00_资源贴

    一.官方资料 1.Gradle User Guide 中文版 二.精选资料 1.Gradle学习系列之一——Gradle快速入门 2.Gradle教程