mysql数据丢失_当数据被误删除/误操作后造成数据丢失。你尝试过用什么手段来挽救数据/损失?...
目录:
MySQL高可用架构应该考虑什么? 你认为应该如何设计?
MySQL备份,使用xtrabackup备份全实例数据时,会造成锁等待吗?那么如果使用mysqldump进行备份呢?
MySQL 5.7开始支持JSON,那还有必要使用MongoDB存JSON吗?请列出你的观点/理由。
当数据被误删除/误操作后造成数据丢失。你尝试过用什么手段来挽救数据/损失?
MySQL 5.7的复制架构,在有异步复制、半同步、增强半同步、MGR等的生产中,该如何选择?
一、MySQL高可用架构应该考虑什么? 你认为应该如何设计?
(一)MySQL高可用架构应该考虑什么?
(二)你认为应该如何设计?
二、MySQL备份,使用xtrabackup备份全实例数据时,会造成锁等待吗?那么如果使用mysqldump进行备份呢?
(一)xtrabackup和mysqldump会造成锁等待吗?
(二)xtrabackup冷知识
三、MySQL 5.7开始支持JSON,那还有必要使用MongoDB存JSON吗?请列出你的观点/理由。
(一)观点A:支持MySQL存储JSON
1.MongoDB不支持事务,而MySQL支持事务
2.MySQL相对MongoDB而言,MySQL的稳定性要优于MongoDB
3.MySQL支持多种存储引擎
(二)观点B:支持MongoDB存储JSON
1.从性能的角度考虑,对于JSON读写效率MongoDB要优于MySQL
2.MongoDB相对MySQL而言,MongoDB的扩展性要优于MySQL
3.MongoDB支持更多的JSON函数
(三)总结
1.如果应用程序无事务要求,存储数据表结构复杂并且经常被修改, 例如游戏中装备等场景用MongoDB比较适合
2.如果应用程序有事务要求,存储数据的"表"之间相互有关联,例如有订单系统等场景用MySQL比较适合
3.整体来看相对看好MySQL的JSON功能,在未来官方的努力下MySQL的JSON功能有机会反超MongoDB
四、当数据被误删除/误操作后造成数据丢失。你尝试过用什么手段来挽救数据/损失?
(一)前提
1.当数据被误删除/误操作后,第一时间要关闭数据库。业务方需要紧急挂停机公告,避免数据二次污染,用于保护数据的一致性
2.BINLOG格式为ROW格式,不讨论其他格式的BINLOG
(二)数据被误操作(update/delete/drop)造成数据丢失,可以用哪些手段来恢复?
1.BINLOG恢复:可以使用逆向解析BINLOG工具来恢复。例如:binlog2SQL等
2.延迟从库: 可以通过解除延迟从库,并指定BINLOG结束位置点,可以实现数据恢复
(三)数据被误删除(rm/物理文件损坏)造成数据丢失,可以用哪些手段来恢复?
1.如果有备份,可以通过备份恢复 mysqldump/xtrabackup + binlog 来实现全量+增量恢复
2.如果无备份但是有从库,可以通过主从切换,提升从库为主库,从而实现数据恢复
3.如果无备份并且无从库,但MySQL没有重启,可以通过拷贝/proc/$pid/fd中的文件,来进行尝试恢复
4.如果无备份并且无从库,但MySQL有重启,可以通过extundelete或undrop-for-innodb来恢复
五、MySQL 5.7的复制架构,在有异步复制、半同步、增强半同步、MGR等的生产中,该如何选择?
(一)生产环境中:
几种复制场景都有存在的价值。下面分别描述一下:
(二)理由:
总的来讲,从技术实现上来看:MGR> 增强半同步>异步复制。
未来可能见到更多的MGR在生产中使用,对于MySQL的运维的要求也会更上一层楼。
总结
以上是生活随笔为你收集整理的mysql数据丢失_当数据被误删除/误操作后造成数据丢失。你尝试过用什么手段来挽救数据/损失?...的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: cat 常用的日志分析架构方案_芯片失效
- 下一篇: postgresql 备份_在Kuber