一、存儲引擎層面丟失數據
在這個過程中,如果服務器宕機,內存中數據將會丟失。
重啟服務器后,通過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