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主从复制的应用。