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)
- statement:记录的是逻辑
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 主从复制的应用。