1、mysql主从复制原理:
Mysql主从复制的实现,主要依赖于二进制日志来实现,过程主要是根据把主(master)的MySQL 的数据复制到其它主机( Slave )上。在复制过程中,可以理解为一台mysql服充当服务器,而其他的mysql服务器充当从服务器,而这种从服务器可以是一个或者是多个。在主从复制过程中,mysql-master会将更新写入二进制日志,并维护文件的一个索引以跟踪日志循环。开启的二进制,mysql主服务器就会安装你配置的二进制文件名生成二进制文件,而这些日志主要是用来记录发送到从服务器的更新。当一个从服务器连接主服务器时,它通知主服务器从服务器在日志中读取的最后一次成功更新的位置,从服务器接收从那时起发生的任何更新。mysql要做到主从复制,其实是把事务都记录到二进制日志上,只需要从服务拿到这份日志,照着日志上面的动作施加到自己身上就可以了。这样就实现了主从复制。
2.主master库跟从slave数据库直接的UUID必须要不一致。在云端的服务器需要注意是否为通过克隆的方式复制的服务器,在实现主从复制的时候有可能日志会报UUID冲突的错误:此时需要找到auto.cnf下文件并重命名,我这边的路径是在/var/lib/mysql,里面的内容就是记录UUID。mv /var/lib/mysql/auto.cnf /var/lib/mysql/auto.cnf.bak 重命名该文件,并重启mysql服务。(systemctl restart mysql) 即可。建立Mysql主从复制主从服务器直接必须要能ping通,Mysql版本必须一致(mysql -V 查看mysql版本)。
3.在master数据库上的操作:
编辑master数据库的my.cnf文件