innodb_flush_log_at_trx_commit 和 sync_binlog 都为 1
就能确保 MySQL 机器断电重启后,数据不丢失。
建议在比较重要的库,比如涉及到钱的库,设置为双一,而你的测试环境或者正式业务不那么重要的库(比如日志库)可以将 innodb_flush_log_at_trx_commit 设置为0,sync_binlog 设置成大于100 的数值,提高更新效率。
mysql不是双一模式导致数据不一致异常断电原因,模式不同,对数据的处理不一样。典型的STRICT_TRANS_TABLES严谨模式,进行数据的严格校验,错误数据不能插入。当模式不一样下数据会被截断,最终就会存在不一致问题。mysql云数据库MySQL-安全可靠,d性伸缩,轻量运维,开箱即用的数据库服务,支持业界主流MySQL数据库引擎,提供管理,备份,恢复,监控等全套解决方案。第一种:在master上删除一条记录,而slave上找不到。Last_SQL_Error: Could not execute Delete_rows event on table hcy.t1
Can't find record in 't1',
Error_code: 1032handler error HA_ERR_KEY_NOT_FOUND
the event's master log mysql-bin.000006, end_log_pos 254
第二种:主键重复。在slave已经有该记录,又在master上插入了同一条记录。
Last_SQL_Error: Could not execute Write_rows event on table hcy.t1
Duplicate entry '2' for key 'PRIMARY',
Error_code: 1062
handler error HA_ERR_FOUND_DUPP_KEYthe event's master log mysql-bin.000006, end_log_pos 924
第三种:在master上更新一条记录,而slave上找不到,丢失了数据。
Last_SQL_Error: Could not execute Update_rows event on table hcy.t1
Can't find record in 't1',
Error_code: 1032
handler error HA_ERR_KEY_NOT_FOUNDthe event's master log mysql-bin.000010, end_log_pos 263
异步半同步区别
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)