多mysql实例下开发需要注意主从同步延迟
今天晚上服務(wù)器上線測試,遇到了一個(gè)問題!
往數(shù)據(jù)庫寫了一條數(shù)據(jù)之后,再讀取該記錄,居然讀不出來,報(bào)空指針。十分費(fèi)解,喊來開發(fā)組長定位問題。他的解釋是:寫操作用的是主庫,而讀操作用的是從庫。在寫庫寫完之后,該條記錄并不會立刻出現(xiàn)在讀庫,數(shù)據(jù)同步到寫庫需要一定的時(shí)間。于是出現(xiàn)了我的空指針異常。
回來看了很多網(wǎng)上的介紹主從同步機(jī)制。大致是這樣的,主庫執(zhí)行完sql寫命令之后,將日志寫至binlog。從庫有一個(gè)線程會拉取主庫上的這個(gè)日志文件,獲取新的數(shù)據(jù)寫操作日志。并將拉取到的日志寫至本機(jī)的relay-log。從庫的sql線程會從本機(jī)的relay-log中
取出日志,并執(zhí)行。至此,同步完成。可以看出主從間同步是需要一些時(shí)間的。
好的士兵不會跳進(jìn)同一個(gè)陷阱。以后遇到類似的問題,正確的做法是,如需要寫完數(shù)據(jù)立刻查該數(shù)據(jù),則需要用主庫(寫庫)查,而非從庫(讀庫)。分享下我的經(jīng)驗(yàn),希望對大家有用。
轉(zhuǎn)載于:https://www.cnblogs.com/james1207/p/3395464.html
總結(jié)
以上是生活随笔為你收集整理的多mysql实例下开发需要注意主从同步延迟的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 第七章 二叉搜索树(b3)BST:删除
- 下一篇: linux cmake编译源码,linu