Mysql主备的基本原理 在状态1中,客户端直接访问节点A,而节点B只是备库,只是将A的binlog全部同步过来并应用到本地,这样可以保持节点B和节点A的数据是相同的. 当需要切换的时候,就变成状态2,这时候客户端读取的是节点B,而A变成B的备库. 在状态1中,B节点没有被直接访问,建议设置为readonly状态. 1 有时候一些运营类的查询会放到备库去上去查询,设置为只读可以防止误操作 2 防止切换逻辑有bug,比如切换过程中出现双写,造成主备不一致 3 可以用readonly状态,来判断主备