MySQL主从
- 主从同步复制的用途
①实时灾备,可用于故障切换。
②读写分离,在主服务器(master)上进行写操作,在从服务器(slaver)上进行读操作。
③备份,完整备份和增量备份。
主从同步实现
① 对于master主服务器
主从同步事件被写入bin_log日志文件中,即当master上的数据发生改变时。此事件的变化会按照顺序被记录在bin_log中。
② 对于从服务器
当主从同步开启时,slave上会创建两个线程,即I/O进程和SQL线程。
其中 I/O线程连接在主服务器上,master上的binlog dump线程会将binlog的内容发送给该进程。I/O进程接受到binlog内容后,再将内容写入本地的relay log中。
其中SQL线程读取I/O线程写入的relay log。根据relay log 的内容对slave数据库做相应的操作。
③binlog_dump线程
当从服务器连接到主服务器时,主服务器master会为从服务器开启binglog线程。当master上的binlog发生变化时,此线程会通知slave从服务器,并将相应的日志内容发送给slave从服务器。