同步操作将从 人生/springboot-mycat 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
springboot整合mycat案例,实现读写分离,主从复制
1:本案例使用mycat中间件,实现读写分离、mysql主从复制
2:本案例使用的mycat版本是1.6,mysql版本5.7,springboot版本2.1.3、maven仓库
3:实现本案例先要做的事情: 1)安装mycat服务,具体安装步骤咨询度娘 2)安装主库master mysql、从库slave mysql,具体安装步骤请参考:https://blog.csdn.net/kisscatforever/article/details/78776133
4:异常处理: 在进行主从复制的时候,可能会遇到主从数据不一致,导致从库停止同步,可以先看下从库状态 show slave status,注意那两个Running状态 YES/YES 如果有一个是no,这时候需要在从库上执行
1)停止从库服务:stop slave
2)在从库上重新设置同步节点:
change master to master_host='127.0.0.1',master_port=3306,master_user='root',master_password='123456',master_log_file='mysql-bin.000004',master_log_pos=2141;
注意:此执行语句必须要与这保持一致,可以更改参数master表示数据库,请设置master数据的host、port、username、password
master_log_file='mysql-bin.000004':mysql-bin.000004必须跟主库保持一致(对应主库:File)
master_log_pos=2141:2141必须跟主库保持一致(对应主库值:Position)
主库状态,在主库数据库执行:show master status,
3)启动从库服务:start slave
5:mycat配置文件schema.xml、server.xml和数据库脚本见config目录下
6:模拟主库master服务停掉,此时通过mycat会自动切换到从库slave,读写操作都会在slave库上进行;
重新启动master服务,此时读写任slave库上进行,还是以从库slave为主,新增的数据不会添加到主库上,此时想重新切换master为主库:
1)修改mycat安装文件下的conf/dnindex.properties文件中,把localhost1设置0,让localhost1重新成为主节点库
2)重启mycat,重启之后,恢复原master主库
3)注意:此时新增数据,会在主库master中,没有同步到从库slave中,此时就需要操作步骤4异常处理;处理完毕,主从就能同步
处理完毕之后,发现主从库数据不一致,此时就需要对主从库数据同步处理
7:使用mycat主从复制,表的主键id不能使用自增方式,否则在主库服务停掉,切换到从库,新增数据都在从库,此时恢复主库节点,新增数据切换到主库,此时就会新 增的数据主键id与从库数据主键id一样,这时候如果要进行从库到主库数据库同步或者主库到从库同步,就会把被同步一方相同的主键id数据覆盖掉(此处必须要注意同步,否则是一个大坑)
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。