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

原文地址:https://www.cnblogs.com/ycqi/p/10863595.html