diff --git a/notes/MySQL.md b/notes/MySQL.md
index 9b198fd4..f65a0a87 100644
--- a/notes/MySQL.md
+++ b/notes/MySQL.md
@@ -398,6 +398,20 @@ MySQL 提供了 FROM_UNIXTIME() 函数把 UNIX 时间戳转换为日期,并提
+#### binlog三种模式
+- **STATEMENT** :基于SQL语句的复制,每一条会修改数据的sql语句会记录到binlog中。
+ - 优点:不需要记录每一条SQL语句与每行的数据变化,这样子binlog的日志也会比较少,减少了磁盘IO,提高性能。
+ - 缺点:在某些情况下会导致master-slave(主从复制模式)中的数据不一致(如sleep(暂停指定时间执行)函数, last_insert_id(自增)等情况下会出现问题)
+- **ROW** :基于行的复制,不记录每一条SQL语句的上下文信息,仅记录哪条数据被修改了,修改后的结果是什么。
+ - 优点:不会出现某些特定情况下的存储过程、或function、或trigger的调用和触发无法被正确复制的问题。
+ - 缺点:会产生大量的日志,尤其是alter table的时候会让日志暴涨。
+- **MIXED** :如上两种模式的混合使用,一般的复制使用STATEMENT模式保存binlog,对于STATEMENT模式无法复制的相关操作使用ROW模式保存binlog,MySQL会根据执行的SQL语句选择日志保存方式。
+
+#### 主从节点三种同步方式
+- **异步复制** : MySQL默认的复制即是异步的,主库在执行完客户端提交的事务后会立即将结果返给客户端,并不关心从库是否已经接收并处理。
+- **全同步复制** : 指当主库执行完一个事务,所有的从库都执行了该事务才返回给客户端。
+- **半同步复制** : 介于异步复制和全同步复制之间,主库在执行完客户端提交的事务后不是立刻返回给客户端,而是等待至少一个从库接收到并写到relay log中才返回给客户端。
+
### 读写分离
主服务器处理写操作以及实时性要求比较高的读操作,而从服务器处理读操作。