Mysql日志文件

MySql参数

参数分为:mysql

  • 静态参数   r只读
  • 动态参数   rw读/写

SET使用:SET [global|session] sys_var_name = val;
SELECT使用:SELECT [@@global|@@session|@@] sys_var_name;sql

日志文件

  • 常见日志文件:数据库

    • error log(错误日志)
    • binlog(二进制日志)
    • slow query log(慢查询日志)
    • log(查询日志)
    • undo log(回滚日志)
    • redo log(重作日志)存储引擎文件
  • error log

    在mysql启动、运行、关闭时进行记录,不单单包含错误信息,还包含警告和其余正确的信息。命令为:show VARIABLES LIKE 'log_error'安全

  • binlog

    binlog(二进制日志)只记录了全部更改(update,insert,delete,create,drop,alert)操做,不包括select,show这类查询操做。即便更改操做未改变数据库时,仍会记录在内。如:UPDATE t SET a=1 WHERE a=2;
    用途:session

    • 恢复(recovery)
    • 主从复制(replication):使得主从mysql数据库实现同步
    • 审计(audit):判断是否有注入攻击,提高安全性。

binlog相关参数:架构

  • max_binlog_size   单个binlog文件大小
  • binlog_cache_size   缓冲大小
  • sync_binlog   每几回缓冲刷回磁盘,默认为0
  • binlog-do-db  写入哪些库的binlog,默认为空,即写入全部库的binlog
  • binlog-ignore-db  忽略哪些库的binlog,默认为空,即写入全部库的binlog
  • log-slave-update  默认false,即本身做为slave端时,不会写入从master传过来的binlog到本身的binlog。 m->s->s架构必须配置该参数,不然中间就断了。
  • bilog_format  binlog的记录格式,协调不一样数据库的 不一样事物隔离级别 之间复制,保证数据一致性,可选值[statement|row|mixed]函数

    • statement:记录的是逻辑 SQL 语句
    • row:记录 的更改状况
    • mixed:默认以statement,某些状况会采用row。使用row状况包括:ui

      • uuid()等不肯定函数
      • insert delay
      • 使用了用户自定义函数(UDF)
      • 使用了临时表(temporary table)
row的开销会比statement大不少
文末补充了MYSQL实现主从复制的相关文章(别人写的)。
  • slow log

    用于定位查询慢的SQL语句,mysql默认不启动慢日志,开启参数 log_slow_queries,默认阈值为10秒,可经过参数long_query_time设置.net

  • undo log

    做用:为保证事务原子性(Atomicity),在事务失败时,进行rollback。
    原理:在begain/start transaction前进行备份。日志

  • redo log

    实例失败时,如:掉电,mysql存储引擎会使用redo log恢复到掉电时刻。

Mysql主从复制相关文章(别人写的):Mysql主从复制,主主复制

后续我也会本身补一篇关于binlog主从复制的使用。

相关文章
相关标签/搜索