1.引入:有了主从复制,读写分离才有意义,值得注意的是,mysql数据库自带主从复制功能,该功能和mycat没有关系!
基于log文件的主从复制,只是主从复制中的一种方式
2.基本流程:主库进行dml,会产生一个二进制文件,文件中记录了操作信息,从库获取文件在本地运行,达到主从复制效果。
注意:slave拷贝master的log文件是一个异步的过程
slave从master拷贝log文件需要master节点提供一个账号来登录master数据库(该账户不能是root账户)
master和每个slave都必须有一个唯一的ID(使用server-id选项)。每个slave都必须配置master的host名称,log文件名称,在log文件中位置的信息。
3.实现:
3.1打开主库的二进制文件
3.2放开注释配置生效
3.3 配置从库的server-id id不一致
3.4修改主从的uuid 保证不一致即可
3.5 设置主库的密码安全级别 这个意思是只要是六位就行
set global validate_password_policy=0; set global validate_password_length=6;
3.6安装RMP脚本到主库
3.7修改主从库的hosts文件
> 192.168.30.* node1
> 192.168.30.* node2
> 192.168.30.* node3
3.8 重启mysql服务
service mysqld restart
3.9 主库执行脚本
mysqlreplicate --master=root:"root"@192.168.30.80:3306 --slave=root:"root"@192.168.30.81:3306 --rpl-user=root:"root"
大功告成!