Skip to content

Latest commit

 

History

History
executable file
·
38 lines (26 loc) · 2.3 KB

MySQL维护.md

File metadata and controls

executable file
·
38 lines (26 loc) · 2.3 KB

MySQL维护

  1. 预防性维护

    有计划的开展预防性维护工作,定期对表进行检查,定期查看MySQL日志,有助于及时的发现各种小问题,在问题变大之前将其纠正,轻微的损坏可以使用MySQL的表修复功能来修复。

    优点:在重大事故发生之前,将问题扼杀于摇篮之中。

    缺点:不管是手动的CHECK TABLE,还是使用MySQL CHECK自动检测,都会阻塞表,不适用于频繁更新的大表,并且越大的表检测时间越长。

  2. 启用二进制日志

    在服务器崩溃之后,binlog可以帮助我们恢复数据库,还可以恢复误操作的数据:

    用备份文件把数据库恢复到备份时的状态,然后执行binlog日志文件里的内容,重新应用备份之后所发生的更改,这样就可以把数据库还原到崩溃发生时的状态。

    此方案会影响一定性能。

  3. 高可用方案-主备模式

    主备方案一直都是MySQL高可用方案中的最佳实践,而且是高可用方案中的成本相对较低的实践,可以快速的实现切换,保证数据库不是所有崩溃之后依然可以正常提供服务。

    此方案会影响一定性能。

  4. 备份

    1. mysqldump,为文本格式的备份,把表内容写入由insert语句构成的转储文件,备份和恢复都比较慢,采取这种备份工具可能需要采取单表备份,这样的话便于在恢复的时候做单表恢复,快速恢复优先级高的表。
    2. xtrabackup,为二进制备份,通过直接复制包含表内容的文件来获得备份,备份和恢复对比mysqldump都比较快,采取这种备份工具的话可以直接备份全库。

    上述两种备份方式,无论选用哪一种,都可以执行一周全备,每天增量的备份方式。

  5. 恢复方案

    当上述方案均失效时,可使用最近的全备份+增量,然后使用二进制日志恢复,数据丢失可控制在1秒内,在使用xtrabackup备份的前提下,当前数据量可在12小时内恢复所有数据,其中资产拍卖在6小时内可恢复完毕

  6. 恢复标准化

    规范流程并严格执行,编写标准化恢复脚本,减少人工操作,避免在恢复的时候犯错。