MySql参数

参数分为:

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

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

日志文件

  • 常见日志文件:

    • 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;
    用处:

    • 复原(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状况包含:

      • uuid()等不确定函数
      • insert delay
      • 应用了用户自定义函数(UDF)
      • 应用了长期表(temporary table)
    row的开销会比statement大很多
文末补充了MYSQL实现主从复制的相干文章(他人写的)。
  • slow log

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

  • undo log

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

  • redo log

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

Mysql主从复制相干文章(他人写的):Mysql主从复制,主主复制

后续我也会本人补一篇对于binlog主从复制的应用。