Mysql中什么時候會出現數據丟失?怎樣預防數據丟失


一、存儲引擎層面丟失數據

在這個過程中,如果服務器宕機,內存中數據將會丟失。

重啟服務器后,通過redo log日志recovery重做日志,保障了數據不會丟失。因此只要事務能夠實時寫入到磁盤redo log),InnoDB存儲引擎就不會丟失數據。

 

==============================================================================================================================

https://blog.csdn.net/fangchao3652/article/details/49744243

兩個線程基於同一個查詢結果進行修改,后修改的人會將先修改人的修改覆蓋掉. 

怎么防止數據丟失

  • 查詢非常多,修改非常少,使用樂觀鎖(悲觀查詢都加排他鎖 效率會降低)
  • 修改非常多,查詢非常少,使用悲觀鎖(多管理員修改時,某種一個可能一直等待,所以用悲觀)

影響InnoDB數據丟失的參數innodb_flush_log_at_trx_commit,影響MySQL復制數據丟失的sync_binlog,以及由於MySQL和InnoDB需要協調而可能導致數據丟失的參數innodb_support_xa。

TechTarget中國原創內容,原文鏈接: https://searchdatabase.techtarget.com.cn/7-21493/
© TechTarget中國:https://www.techtarget.com.cn


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM