ホームページ データベース mysql チュートリアル MySQL实验室DMB数据库监控及灾备系统 之 [备份模式的选择]

MySQL实验室DMB数据库监控及灾备系统 之 [备份模式的选择]

Jun 07, 2016 pm 04:32 PM
mysql バックアップ 研究室 データベース 災害からの回復 モニター システム

很多企业,特别是中、大型互联网企业都在大量的使用MySQL数据库,并且绝大部分情况下使用的都是InnoDB存储引擎。使用InnoDB存储引擎有很多因素,比如事务安全、自动恢复、行锁、在线备份等等特性。 在MySQL数据库应用和运维中,除了数据库状态和性能监控之外

很多企业,特别是中、大型互联网企业都在大量的使用MySQL数据库,并且绝大部分情况下使用的都是InnoDB存储引擎。使用InnoDB存储引擎有很多因素,比如事务安全、自动恢复、行锁、在线备份等等特性。

在MySQL数据库应用和运维中,除了数据库状态和性能监控之外,数据库的备份一直没有很好的工具去管理,DMB数据库监控及灾备系统就是为解决这一矛盾而诞生的。

DMB系统中备份配置中总共有7种备份模式,下面将针对它们分别介绍,什么样的情况下应该选择什么样的备份模式,以实现最高效的备份,且尽可能的减少对业务的影响。

  • MYSQLDUMP:
    • 调用MySQL系统的mysqldump命令进行备份。其中在只有InnoDB的情况下,可以实现在线热备,不会影响线上业务;在有MyISAM表的情况下,在备份过程当中会增加全局锁,这时候系统是只读的。备份之后会生成 master信息,可以通过备份的SQL文件和master_info.sql 创建slave服务。
  • IBBACKUP_ALL:
    • 备份所有的InnoDB和MyISAM表,在没有MyISAM表的情况下,备份过程中不会对线上业务造成影响,属于在线热备;如果存在MyISAM表,那么在备份完InnoDB之后,备份MyISAM的过程中MySQL数据库是只读的。备份会生成master_info.sql,用于创建slave。
  • IBBACKUP_INNODB:
    • 针对只有InnoDB表的情况,不会备份MyISAM表,属于在线热备,不会造成写堵塞。备份会生成master_info.sql,用于创建slave。
  • IBBACKUP_NONBLOCK:
    • 针对只有InnoDB的情况,不备份MyISAM表,属于在线热备,对系统不造成任何堵塞。备份不生成master_info.sql,不能用该备份创建slave,只用于备份用。
  • XTRABACKUP_ALL: 同 IBBACKUP_ALL
  • XTRABACKUP_INNODB: 同 IBBACKUP_INNODB
  • XTRABACKUP_NONBLOCK: 同 IBBACKUP_NONBLOCK

说明:

  1. 备份模式中以IBBACKUP开头的调用的是 ibbackup,以XTRABACKUP开头的调用的是xtrabackup。
  2. 所有备份都包含MySQL数据库系统库mysql和配置文件my.ini
  3. 在不清楚的情况下备份模式可以选择MYSQLDUMP、IBBACKUP_ALL、XTRABACKUP_ALL 。
  4. IBBACKUP、XTRABACKUP都属于物理备份,恢复速率比MYSQLDUMP要大,能缩短恢复时间。
  5. 其中 IBBACKUP_NONBLOCK、XTRABACKUP_NONBLOCK不会调用flush操作,因此在任何情况下都不会影响在线业务。而其他几种备份模式因为为了取得master info信息,有些会在瞬间加上全局锁然后释放,在极端情况下会对数据库造成一定影响。具体情况以及针对现有MySQL的patch会在后续的blog中加以阐述。

Related posts:

  1. MySQL企业级数据库灾备(备份)系统-DMB v2.1发布
  2. MySQL5.5复制/同步的新特性及改进
  3. MySQL vs NoSQL 效率与成本之争
  4. MySQL 5.5 Released(非GA)
  5. MySQL5.6发布及其新特性

? 谭俊青 发布在 MySQL性能、MySQL Cluster集群、MySQL HA高可用等研究 - MySQL实验室, 2011.
可以任意转载, 但转载时务必以超链接形式标明文章原始出处 和 作者信息。
链接: http://www.mysqlab.net/blog/2011/04/dmb-database-mysql-backup-method/

标签: DMB, ibbackup, xtrabackup, 在线热备, 备份

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

MySQL 8.4 で mysql_native_password がロードされていないエラーを修正する方法 MySQL 8.4 で mysql_native_password がロードされていないエラーを修正する方法 Dec 09, 2024 am 11:42 AM

MySQL 8.4 (2024 年時点の最新の LTS リリース) で導入された主な変更の 1 つは、「MySQL Native Password」プラグインがデフォルトで有効ではなくなったことです。さらに、MySQL 9.0 ではこのプラグインが完全に削除されています。 この変更は PHP および他のアプリに影響します

PHPがMySQLに接続された後、ページは空白です。無効なDIE()関数の理由は何ですか? PHPがMySQLに接続された後、ページは空白です。無効なDIE()関数の理由は何ですか? Apr 01, 2025 pm 03:03 PM

PHPがMySQLに接続した後、ページは空白になり、DIE()関数が失敗する理由。 PHPとMySQLデータベースの間の接続を学習するとき、あなたはしばしばいくつかの混乱することに遭遇します...

ランプアーキテクチャの下でnode.jsまたはPythonサービスを効率的に統合する方法は? ランプアーキテクチャの下でnode.jsまたはPythonサービスを効率的に統合する方法は? Apr 01, 2025 pm 02:48 PM

多くのウェブサイト開発者は、ランプアーキテクチャの下でnode.jsまたはPythonサービスを統合する問題に直面しています:既存のランプ(Linux Apache MySQL PHP)アーキテクチャWebサイトのニーズ...

PCとモバイル側で同じページを共有し、キャッシュの問題を処理する方法は? PCとモバイル側で同じページを共有し、キャッシュの問題を処理する方法は? Apr 01, 2025 pm 01:57 PM

PCとモバイル側で同じページを共有し、キャッシュの問題を処理する方法は? Nginxでは、Baotaの背景を使用して構築されたPHP MySQL環境、PCサイドの作成方法と...

PHPの楽観的なロックとトランザクション控除残高が組み合わされて失敗しました:バランスが並行性の状況で正しく控除されるようにする方法は? PHPの楽観的なロックとトランザクション控除残高が組み合わされて失敗しました:バランスが並行性の状況で正しく控除されるようにする方法は? Mar 31, 2025 pm 11:42 PM

この記事のPHPの楽観的ロックおよびトランザクションと組み合わせて残高を控除する問題の詳細な説明では、PHP、楽観的ロック、データベーストランザクションのみを使用したバランス控除を詳細に分析します...

Redis Exporter サービスを使用した Redis ドロップレットの監視 Redis Exporter サービスを使用した Redis ドロップレットの監視 Jan 06, 2025 am 10:19 AM

Redis データベースを効果的に監視することは、最適なパフォーマンスを維持し、潜在的なボトルネックを特定し、システム全体の信頼性を確保するために不可欠です。 Redis Exporter Service は、Prometheus を使用して Redis データベースを監視するように設計された堅牢なユーティリティです。 このチュートリアルでは、Redis Exporter Service の完全なセットアップと構成について説明し、監視ソリューションをシームレスに確立できるようにします。このチュートリアルに従うことで、Redis データベースのパフォーマンス メトリクスを効果的に監視するための完全に運用可能な監視セットアップを実現できます。

Debian文字列は、複数のブラウザと互換性があります Debian文字列は、複数のブラウザと互換性があります Apr 02, 2025 am 08:30 AM

「DebianStrings」は標準的な用語ではなく、その特定の意味はまだ不明です。この記事は、ブラウザの互換性について直接コメントすることはできません。ただし、「DebianStrings」がDebianシステムで実行されているWebアプリケーションを指す場合、そのブラウザの互換性はアプリケーション自体の技術アーキテクチャに依存します。ほとんどの最新のWebアプリケーションは、クロスブラウザーの互換性に取り組んでいます。これは、次のWeb標準と、適切に互換性のあるフロントエンドテクノロジー(HTML、CSS、JavaScriptなど)およびバックエンドテクノロジー(PHP、Python、Node.jsなど)を使用することに依存しています。アプリケーションが複数のブラウザと互換性があることを確認するには、開発者がクロスブラウザーテストを実施し、応答性を使用する必要があることがよくあります

See all articles