mysq主从原理
数据库有个bin-log二进制文件,记录了所有sql语句。
我们的目标就是把主数据库的bin-log文件的sql语句复制过来。
让其在从数据的relay-log重做日志文件中再执行一次这些sql语句即可
步骤:
主库db的更新时间(update、insert、delete)将被写到binlog;
从库发起连接,连接到主库
主库建立一个binlog dump thread,把binlog内存发送给从库
从库启动后,创建一个IO线程,读取主库传过来的binlog内容,写到relay log
同时,从库还会创建一个SQL线程,从relay log里面读取内容,从Exec_Master_log_Pos位置开始执行读取到的更新事件,将更新内容写入到salve的db