一、当前数据库服务存在的问题
1.如果数据库主库宕机,则影响整个数据库服务器
2.如果后台Amoeba宕机,会影响整个服务
3.主库宕机影响
- 因为配置数据库主从服务器,从库可以实现备份主库数据。但是当主库宕机后,如果通过某些技术手段可以实现数据库的故障迁移,但这是从库需要同时读写数据,一段时间后,从库的数据会比主库的数据多
- 如果这是主库服务器修复,amoeba根据原有配置继续实现读写分离,但是从库中的数据比主库的数据多,这时IO线程会断掉,至此无法实现主从服务
- 该问题导致之前用户写入的数据,主库没有。同时用户新增的数据从库没有,导致数据不一致。
4.改进策略
4.1 主从切换:如果主库(A)宕机,那么远来的从库(B)升级为主库或者读,同时将原主变为从,挂载在原从上。——已经实现需要依赖于第三方插件,同时该方案不适用于多个主从配置。
4.2 双机热备(双主模式):数据库高可用最简单方案。两台数据库户为主从结构,即使其中一台宕机,也不会影响整个数据库服务。
二、双机热备(双主模式) 动手实验:
错误: 小海豚不能连接主从的数据库为啥?因为没有在主库从库的虚拟机中登陆mysql
主从挂载。
1.在从库(B:130)上配置主库信息
1.不论主库还是从库,设定挂载机制必须先停止服务
stop slave;
2.注意:
MASTER_USER="root",
MASTER_PASSWORD="",
3.配置【原先 B挂到A上 实现读写分离】
4.防止主机宕机 AB保持同步,再配置A挂载到B上,实现:双机热备模式
5.检查状态 :两个状态都为Yes便成功
show slave status;
6.检测是否同步
从库未刷新:
刷新后:
修改从库信息:
主库: