適切なMySQLデータベースのメンテナンス


8

これで問題が広すぎないことを願っています。私とそれが偶然出会う将来のdba noobsを助けることができると確信しています。

私はDBAの役割を担うシステム管理者です(私はCEOの見通しを助けたので、明らかにデータベースを管理できます!)。それはデータベースサーバーのそれほど大きくない、または忙しいわけではありません... mysqldumpのサイズは約6GBであり、それほど大きくなるまでに5年かかりました。Muninは、ピーク時に1秒あたり平均40〜60クエリを実行していると報告しています。

私の上司は私にOracle Universityシステム管理コースの受講料を支払いましたが、受講した後は、mysqlサーバーのさまざまな部分、機能、方法を説明するだけです。しかし、それはそれほど深くはなく、そのコースからDBAに出ることは絶対にありません。

現在のDBAとして、すべてがスムーズに実行されていることを確認するにはどうすればよいですか?実行できる日常のメンテナンスタスクはありますか?チェックすべき特定のメトリックはありますか?または言い換えると、DBAとして、すべてを良好な状態に保つために毎日何をしていますか?

答えを少し調整するのに役立つ場合は、いくつかの詳細を以下に示します。テーブルは171ありますが、3つを除いてすべてinnodb、その他はmyisamです。RBRを使用して、プライマリデータセンターとディザスターリカバリーサイトの間にマスター/スレーブレプリケーションをセットアップしました。バージョンは5.5.28です。

私に何ができる?

回答:


10

まず最初に。災害復旧(DR)戦略を作成し、文書化したことを確認してください。特に、バックアップから復元する場合に、問題が発生する可能性のある方法、復旧方法、およびテストにかかる時間を把握するためにそれらをテストするために、しばらく時間をかけてください。いくつかの一般的なアイデア:

  • mysqlがクラッシュしましたが、サーバーは正常です。エラーを修正してmysqlを開始してください。
  • MySQLはバックアップから復元する必要があります。バックアップから復元してmysqlを開始します。これは、緊急時に行う必要がある前にテストします。
  • サーバーが停止し、交換する必要があります。交換用サーバーを設置し、バックアップから復元してください。

バックアップをテストするために開発されたDR戦略と方法が整ったら、より定期的なタスクに移ることができます。

  • 定期的に復元プロセスをテストします。これにより必要な場合に備えて親しみやすさが保証さます。
  • 適切なインデックスを確認します。perconaサーバーを使用している場合、特定の時間(月など)後に未使用のインデックスに関する統計を取得できます
  • クエリのレビューが遅い。1秒程度の長いクエリ時間でスロークエリログを有効にし、pt-query-digestを使用して、週ごと/月ごとにそれらを確認します。
  • このような小さなデータベースでhttp://www.mysqlperformanceblog.com/およびhttp://planet.mysql.com/からのブログを読んでください。関心のあるパフォーマンスの問題の多くはめったにありません。したがって、興味深い問題とその解決方法について読む時間は十分にあります。

リンクと提案をありがとう。これは私に良い出発点を与えます。
Safado 2013

1

データとプログラムの両方のバックアップはどうですか?MySQLが置かれているハードウェアとストレージを確認します。毎日または適時にすべてのログを確認します。自動拡張を使用した場合でもディスク領域を確認します-監視する必要があります。誰がアクセスしているかデータベースを最新の状態に保ちます-妥当な範囲内でさまざまな災害に備え、それらの災害から回復します

/マーク・J・リチャーズ

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.