一、存储引擎层面丢失数据
在这个过程中,如果服务器宕机,内存中数据将会丢失。
重启服务器后,通过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