mysql存储业务日志_MySQL 日志管理

一、MySQL 日志

日志是mysql数据库的重要组成部分。日志文件中记录着mysql数据库运行期间发生的变化;也就是说用来记录mysql数据库的客户端连接状况、SQL语句的执行情况和错误信息等。当数据库遭到意外的损坏时,可以通过日志查看文件出错的原因,并且可以通过日志文件进行数据恢复。

MySQL 日志类型:

主要包含:错误日志、查询日志、慢查询日志、事务日志、二进制日志;

错误日志:

一般查询日志: DML, SELECT, 对于非常繁忙的数据库,会产生大量的日志信息

慢查询日志:执行时间很慢的查询操作,语句本身或者锁资源获取导致

二进制日志:DML, DDL, 任何可能引起数据库变化的操作,都会记录下来。

实现复制功能

实现即时点恢复中继日志:对于主从架构,从服务器上的日志

事务日志:ACID, 将随机ID转换为顺序ID

日志的启用、关闭是通过变量来控制的。但凡是跟文件相关操作的变量,都基本是静态的(不能通过 set 命令动态修改)。涉及到文件操作的,需要重启mysqld服务器才会生效。 而凡是要重启生效的,只能写到配置文件中。

错误日志:

在mysql数据库中,错误日志功能是默认开启的。并且,错误日志无法被禁止。默认情况下,错误日志存储在mysql数据库的数据目录(datadir)中。错误日志文件通常的名称为hostname.err。其中,hostname表示服务器主机名。

错误日志信息可以自己进行配置的,错误日志所记录的信息是可以通过log-error和log-warnings来定义的,其中log-err是定义是否启用错误日志的功能和错误日志的存储位置,log-warnings是定义是否将警告信息也定义至错误日志中。

默认情况下错误日志大概记录以下几个方面的信息:服务器启动和关闭过程中的信息(未必是错误信息,如mysql如何启动InnoDB的表空间文件的、如何初始化自己的存储引擎的等等)、服务器运行过程中的错误信息、事件调度器运行一个事件时产生的信息、在从服务器上启动服务器进程时产生的信息。

总结一下,错误日志中记录的信息包括:服务器启动和关闭过程中的信息

服务器运行过程中产生的错误信息

事件调度器(event)运行一个事件时产生的信息

在从服务器上如果启动了复制进程,复制进程的信息也会被记录

与错误日志相关的变量:log_error = { PATH }

指定错误日志文件存放位置并启动错误日志,默认保存在数据目录下,mysql用户必须对此目录有读写权限。 log_error 必须在配置文件中指定,并重启mysqld 服务器才会生效。log_warnings = {0 | 1}

默认开启,服务器运行过程中产生的警告信息也会记录在错误日志中。mysql> show global variables like '%log%';

+-----------------------------------------+-----------------------------+

| Variable_name                           | Value                       |

+-----------------------------------------+-----------------------------+

| back_log                                | 80                          |

| binlog_cache_size                       | 32768                       |

| binlog_checksum                         | CRC32                       |

| binlog_direct_non_transactional_updates | OFF                         |

| binlog_format                           | STATEMENT                   |

| binlog_max_flush_queue_time             | 0                           |

| binlog_order_commits                    | ON                          |

| binlog_row_p_w_picpath                        | FULL                        |

| binlog_rows_query_log_events            | OFF                         |

| binlog_stmt_cache_size                  | 32768                       |

| expire_logs_days                        | 0                           |

| general_log                             | OFF                         |

| general_log_file                        | /mydata/data/mysql.log      |

| innodb_api_enable_binlog                | OFF                         |

| innodb_flush_log_at_timeout             | 1                           |

| innodb_flush_log_at_trx_commit          | 1                           |

| innodb_locks_unsafe_for_binlog          | OFF                         |

| innodb_log_buffer_size                  | 8388608                     |

| innodb_log_compressed_pages             | ON                          |

| innodb_log_file_size                    | 50331648                    |

| innodb_log_files_in_group               | 2                           |

| innodb_log_group_home_dir               | ./                          |

| innodb_mirrored_log_groups              | 1                           |

| innodb_online_alter_log_max_size        | 134217728                   |

| innodb_undo_logs                        | 128                         |

| log_bin                                 | OFF                         |

| log_bin_basename                        |                             |

| log_bin_index                           |                             |

| log_bin_trust_function_creators         | OFF                         |

| log_bin_use_v1_row_events               | OFF                         |

| log_error                               | /mydata/data/mysql.err      |    --定义错误日志

| log_output                              | FILE                        |

| log_queries_not_using_indexes           | OFF                         |

| log_slave_updates                       | OFF                         |

| log_slow_admin_statements               | OFF                         |

| log_slow_slave_statements               | OFF                         |

| log_throttle_queries_not_using_indexes  | 0                           |

| log_warnings                            | 1                           |    --是否把警告信息写入错误日志

| max_binlog_cache_size                   | 18446744073709547520        |

| max_binlog_size                         | 1073741824                  |

| max_binlog_stmt_cache_size              | 18446744073709547520        |

| max_relay_log_size                      | 0                           |

| relay_log                               |                             |

| relay_log_basename                      |                             |

| relay_log_index                         |                             |

| relay_log_info_file                     | relay-log.info              |

| relay_log_info_repository               | FILE                        |

| relay_log_purge          

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值