原理:
rpm安装
如果前面做了tomcat实验。需要先关闭
如果本来关着,就会出现connection refused
server2先装
自动替换
此文件会自动更新
安全初始化
/log是数据库目录
获得初始密码
新密码要有强壮性
密码:Westos+007
发给server4,配置
主从复制
server2是master,server4是slave
只能修改master,不能动slave
master:
0是拒绝所有复制,所以现在要改成1
追加方式写入日志,所以position会增加
*.*
前面表示库,后面表示表
%表示出了localhost以外
在slave查看:
salve上的ID只要和master不同就行
简单的主从复制
slave:
io _runninng复制二进制用的
sql_running数据库回放
都是yes说明连接好了
如果在master创建库,表
slave会同步
但是会有问题,有延迟,多个slave,关闭master时,slave没有及时保存,进度不同。需要知道master中的很多信息。比如:sql-bin-000001
查看二进制日志
用户名和密码也有
一主多从 复制
源码编译传输
server5是源码编译
先演示server1怎么传过去,但是后期需要删除
因为源码编译和rpm不能混用
scp或者rsync也可以。rsync会更快
脚本复制过去 放到数据目录 不让登系统
初始化server5
报错因为没有目录
开始设置三个虚拟机
master:
强制使用gtid模式
slave1:
master和slave1已经同步
删除源码,server5重新用rpm
删除源码启动脚本
删除用户
改路径
找不到就行
重新rpm安装
slave2设置
数据库需要先备份,将备份的文件给slave2
但是如果之前slave数据库有数据,则会被覆盖,之前的被丢弃
测试,两个slave都能同步
AFTER_SYNC模式
配置此模式
https://dev.mysql.com/doc/refman/5.7/en/replication-semisync-installation.html
根据官网手册执行
master上安装plugin
slave也安装
查看状态
设置开启
重启后才是真正激活
把自动开启写到主配置文件
写好后不需要重启Mysql
上图说明。slave端,最多等10秒,否则成为异步模式。要解决这个问题,可以将超时时间设置为无穷大
默认使用after_sync
两个slave都是on就行
测试同步模式
假如一个slave坏了
slave没有新数据
一个4一个2说明数据异步了
同步延迟60s