mysql启用二进制日志binlog,会对数据库的每个操作记录形如mysql-bin.000001
的日志文件中,问题是它是先记录日志再修改数据库,还是修改完数据库后再记录到日志。
如果这里记录的意思是持久化到磁盘的话,这取决于my.cnf中sync_binlog
的配置
不过如果不想在服务器奔溃后丢失数据,sync_binlog
还是要开启的。
所以对于不能允许数据丢失的场景下,操作是会被先持久化到二进制日志的,毕竟写日志是顺序写,对性能的影响还是能接受的。
mysql启用二进制日志binlog,会对数据库的每个操作记录形如mysql-bin.000001
的日志文件中,问题是它是先记录日志再修改数据库,还是修改完数据库后再记录到日志。
如果这里记录的意思是持久化到磁盘的话,这取决于my.cnf中sync_binlog
的配置
不过如果不想在服务器奔溃后丢失数据,sync_binlog
还是要开启的。
所以对于不能允许数据丢失的场景下,操作是会被先持久化到二进制日志的,毕竟写日志是顺序写,对性能的影响还是能接受的。