mysql文档阅读
This commit is contained in:
24
mysql/mysql文档/bin log.md
Normal file
24
mysql/mysql文档/bin log.md
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
# bin log
|
||||||
|
## Introduce
|
||||||
|
### binary log构成
|
||||||
|
binary log由一系列描述数据库变动的事件构成,例如table creation操作或对table data进行的修改操作。
|
||||||
|
|
||||||
|
除上述对数据库造成修改的事件外,binary log中还包含`可能会潜在对数据库造成修改的statement`所对应的事件(例如一个没有匹配任何行的delete语句)。
|
||||||
|
|
||||||
|
binary log中还会包含每条statement更新数据所花费的时间。
|
||||||
|
|
||||||
|
### binary log用途
|
||||||
|
binary log用途主要用于如下方面:
|
||||||
|
- `for replication`:source replication server中的binary log提供了要发送给replicas的数据变动。source replication server会将binary log中包含的消息发送给replcias,replicas则是会重新执行这些变动。
|
||||||
|
- `for data recovery`:某些data recovery操作需要使用binary log。当backup被恢复后,需要对binary log中位于backup之后的时间进行重新执行操作
|
||||||
|
|
||||||
|
binary log不会记录`SELECT`或`SHOW`这些并不会对数据库数据进行修改的动作。如果想要对所有statement做记录,需要使用general query log。
|
||||||
|
|
||||||
|
在运行mysql server时开启binary log通常会令性能有所降低,但是能带来主从复制和数据恢复方面的好处。
|
||||||
|
|
||||||
|
binary log能兼容程序的意外中止,只有已完成的event或transaction才能记录到binary log或从binary log中read back。
|
||||||
|
|
||||||
|
写入binary log中的statement如果包含密码,密码将会被server重写,binary log中不会出现密码的明文。
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Reference in New Issue
Block a user