正确的MySQL数据库维护


8

我希望这不是一个太大的问题。我敢肯定,它将能够帮助我以及以后遇到的任何dba新手。

我是一名DBA的系统管理员(因为我帮助CEO提出了自己的观点,因此我显然可以管理我们的数据库!)。它不是数据库服务器那么大或忙碌……mysqldump的大小约为6GB,花了我们5年的时间才使它变得如此大。Munin报告说,我们在高峰时段平均每秒查询40-60次查询。

我的老板为我支付了Oracle University系统管理课程的费用,但通过该课程,它仅说明mysql服务器的不同部分,做什么工作以及如何做。但这还不是那么深入,您肯定不会走DBA的那门课。

因此,作为当前的DBA,我应该怎么做才能确保一切顺利进行?我可以执行日常维护任务吗?我应该检查某些指标吗?或者换句话说,作为DBA,您每天会做什么以保持一切良好状态?

如果可以帮助您量身定制答案,请按以下说明进行操作。我们有171个表,除了3个以外,其他都是innodb,其他的都是myisam。我们使用RBR在主数据中心和灾难恢复站点之间设置了主/从复制。版本是5.5.28。

我能做什么?

Answers:


10

首先是第一件事。确保已制定并记录了灾难恢复(DR)策略。花一些时间思考可能出问题的方式,如何从中恢复以及测试它们,以了解需要多长时间,尤其是从备份还原时。一些一般的想法:

  • mysql崩溃,但服务器正常:修复错误并启动mysql。
  • 必须从备份还原MySQL:从备份还原并启动mysql <-在紧急情况下必须执行此操作之前对其进行测试。
  • 服务器已死,必须更换:安装替换服务器,然后从备份中还原。

一旦有了灾难恢复策略和开发的方法来测试您的备份,就可以继续执行更定期的任务:

  • 定期测试您的还原过程。这样可以确保必要时熟悉。
  • 确保索引正确。如果使用的是percona服务器,则可以获得有关在给定时间(一个月左右)后未使用哪些索引的统计信息
  • 查询审查速度慢。启用慢查询日志,查询时间长于1秒左右,并使用pt-query-digest每周/每月对其进行检查。
  • 在如此小的数据库上阅读http://www.mysqlperformanceblog.com/http://planet.mysql.com/上的博客。在这样的小型数据库上,您几乎不会遇到许多令人感兴趣的性能问题。因此,您将有足够的时间阅读有趣的问题以及如何解决它们。

感谢您的链接和建议。这给了我一个很好的起点。
萨法多2013年

1

数据和程序的备份又如何呢?复查MySQL所处的硬件和存储每天或及时复查所有日志即使有自动扩展,磁盘空间也要注意-应该注意确保一个人在从事DBA工作(组织)安全性-复查数据类型的策略以及谁在访问它保持数据库更新-在合理的范围内为不同的灾难做准备并从这些灾难中恢复

/马克·J·理查兹(Mark J.Richards)

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.