交互过程简介为一下
1、master在执行sql之后,记录二进制log文件(bin-log)。
2、slave连接master,并从master获取binlog,存于本地relay-log中,然后从上次记住的位置起执行SQL语句,一旦遇到错误则停止同步。
从以上mysql的Replication原理可以看出:
主从间的数据库不是实时同步,就算网络连接正常,也存在瞬间主从数据不一致的情况。
如果主从的网络断开,则从库会在网络恢复正常后,批量进行同步。
如果对从库进行修改数据,那么如果此时从库正在在执行主库的bin-log时,则会出现错误而停止同步,这个是很危险的操作。所以一般情况下,我们要非常小心的修改从库上的数据。
一个衍生的配置是双主、互为主从配置,只要双方的修改不冲突,则可以工作良好。
如果需要多主库的话,可以用环形配置,这样任意一个节点的修改都可以同步到所有节点