13、mysql主从复制原理解析
阅读原文时间:2023年07月12日阅读:1

13.1、mysql主从复制介绍:

1、普通文件,磁盘上的文件的同步方法:

(1)nfs网络文件共享可以同步数据存储;

(2)samba共享数据;

(3)ftp数据同步;

(4)定时任务:crontab+rsync;

(5)时时任务:inotify+rsync、sersync+rsync;

13.2、mysql主从复制架构:

13.3、mysql主从复制的应用场景:

谷歌的半同步插件;双写;连接主库,把binlog日志拉到从库上;应用程序写binlog只写一份钟的;

13.4、如何实现mysql一主多从:

1、mysql主从复制注意事项:

(1)mysql的同步是异步的同步;

(2)同步的时候主库由一个IO线程来完成,从库由IO和SQL两个线程来完成;

(3)主库上打开binlog的开关,并为从库设置连接同步的用户名和密码;

(4)锁库;

(4)将主库备份,解库;将备份的主库恢复到从库的数据库上;

(5)要在从库上配置连接主库的ip地址、端口号、用户名、密码、binglog文件、pos点;

(6)打开从库的开关"start-slave",让从库进行工作;

补充:如果采用的是级联的方式,需要在第一个从库上打开binlog日志,再加上参数log-slave-updates即可;

2、mysql主从复制过程描述:

13.5、生产环境主从库同步配置注意事项:

13.6、总结:

1、mysql主从同步是异步同步的方式;

2、逻辑同步模式,多种模式,默认是通过sql语句执行;

3、主库通过记录binlog实现对从库的同步,binlog是记录数据库的更新语句(增、删、改);

4、主库一个IO线程,从库由一个IO线程和一个SQL线程来完成;

5、从库的关键文件master.info(IO线程记录主库的binglog日志中的pos点)

relay-log(IO线程从主库拉来的binglog日志)

relay-info(SQL线程记录relay-log的pos点)

6、如果从库还想级联从库,需要打开log-bin和log-slave-updates参数;

7、使用mysql半插件实现mysql主从同步(不推荐):

优点:确保了一个从库和主库保持完全一致;

缺点:主从库之间网络延迟,用户的体验很差;