概述
理想情况下,MySQL自第一次安装好以后就可以稳定的一直运行。但是意外总是存在的,例:停电、主机崩溃、硬件故障、自然灾害种种原因,MySQL服务器非正常关闭的问题还是可能发生。正因为这类事件的存在,很有可能会导致数据库的损坏。通常情况下出现的问题是表在更新(修改表结构、数据等)**过程中**的不完全写入导致的。
本章的介绍:
- 问题发生前:最小化风险的具体
- 问题发生后:应对措施。
涉及的技术:
- 数据库备份
- 表检查
- 表修复
- 数据丢失后如何进行修复
- 主从复制
- 读写分离
一.预防性维护的原则
- 启用MySQL服务器提供的自动恢复功能
- 日常或定期进行表检查,定期计划的开展预防性维护工作
- 建立数据库备份计划。启用二进制日志(Bing-log)
尽管你做了预防工作,但是还是可能出现表损坏和数据丢失的现象,那么可以使用以下方式来处理这些问题。
- 检查表,并尽可能修复已经发现的损坏表。轻微的损坏通常可以使用MySQL的表修复功能修正
- 如果对表进行检查和修复仍然不能让服务恢复运行,则需要使用备份和二进制日志(Bing-log)来进行数据恢复
为了完成上述方式,除了MySQL服务器自身的功能可以使用,还可以使用MySQL自带的其他几种工具。
- 当服务器启动时,事务性存储引擎会进行自动恢复。而MyISAM存储引擎你可以启用自动表修复功能。在服务器崩溃重启之后,这些功能都很有用