タグ付けされた質問 「replication」

レプリケーションは、信頼性、フォールトトレランス、およびアクセシビリティを向上させるために冗長ハードウェア/ソフトウェアリソース間の整合性を確保するために、あらゆるレベルの情報を共有するプロセスです。


1
expire_logs_days paramを更新してSQLを再起動した後、古いbinlogは削除されますか?
MySQL 5.1.x | InnoDB | ウィンドウズ mysqlデータディレクトリがbinログでいっぱいになり始めています。 現在、Windows mysqlサーバーで次の設定を構成しています。 [mysqld] log-bin server-id=1 binlog-do-db=foodb1 binlog-do-db=foodb2 expire_logs_days=25 expire_logs_days設定をexpire_logs_days=10mysqlサービスに変更してバウンスする予定です。この変更を行ってからどれくらい経ってから、古いビンのログが明らかになると思いますか。 これは、夜間にスケジュールされたタスクの一部としてのみ実行されますか?または、これはすぐにすべきですか?

3
RDS-MySQLを非アマゾンホストに複製しますか?
AmazonでRDSインスタンスとして実行されているかなり大きなMySQL(5.1)データベースがあります。Amazonからの移行に取り組んでいます。それをスムーズに行うために、RDSインスタンスの読み取り専用レプリカとして新しいハードウェアをセットアップしたいと思います。 RDSがRDS内の複製をサポートしていることは知っています。RDSにないホストに複製するように構成する方法はありますか?

3
PostgreSQL 9.1ストリーミングレプリケーションは、WALアーカイブなしで遅延後に追いつきますか?
環境: Postgres 9.1クラスターでストリーミングレプリケーション/ホットスタンバイを使用しているときに、スタンバイノードがダウンしたとしましょう。これは1日間停止したままで、その間にマスターで多くのDMLが発生します。スタンバイのrecovery.confには「restore_command」エントリは含まれませんが(WALジャーナルファイルからの復元用)、「primary_conninfo」文字列は含まれます(ストリーミングレプリケーション用)。 質問: マスターで1日変更した後、スタンバイを再び開始した場合。ストリーミングレプリケーションのみを使用して、「追いつく」(最終的にはマスターをミラーリングする状態になります)のでしょうか。または、WALファイルアーカイブを有効にし、停止中にアーカイブされたファイルを適用して通貨を確保する必要がありますか? ここでWALアーカイブ/ストリーミングレプリケーションドキュメントを確認しましたが、WALアーカイブとストリーミングレプリケーションの両方を有効にする必要はないと述べていますが、WALファイルアーカイブを有効にせずにキャッチアップが発生するかどうかは不明です。 ありがとう!

3
最小限のダウンタイムでherokuデータベースをAmazon RDSに移行する
heroku postgresデータベースがあり、それをAmazon RDSに移行してコストを節約したい。最小のダウンタイムでこれを行う方法は何ですか?通常、これには、データベースをリアルタイムで複製し、複製されたDBをメインDBとして昇格することが含まれます。 フォロワーデータベースを使用してheroku内のDBを移行でき、リードレプリカデータベースを使用してAmazon RDS内のDBを移行できることを知っています。自分のAmazon RDSにあるheroku DBのデータベースレプリケーションを作成する同様の方法はありますか?

2
どのmax_allowed_pa​​cketが十分な大きさであり、なぜそれを変更する必要があるのですか?
マスタースレーブ設定でMySQL(5.5)を使用し、別のスレーブサーバーを作成しました。 元のスレーブを停止し、データをダンプし、コピーして再インポートしたところ、正常に機能しました。元のスレーブのmaster_log posを書き留め、これらのコマンドを使用して新しいスレーブに設定しました CHANGE MASTER TO MASTER_HOST='<ipaddress>', MASTER_USER='<username>', MASTER_PASSWORD='<password>', MASTER_PORT=3306, MASTER_LOG_FILE='mysql-bin.000851', MASTER_LOG_POS=15824150, MASTER_CONNECT_RETRY=10; 新しいスレーブを開始したとき Last_IO_Error:バイナリログからデータを読み取るときに、マスターから致命的なエラー1236が発生しました: 'ログイベントエントリがmax_allowed_pa​​cketを超えました。マスターのmax_allowed_pa​​cketを増やす しかし、元のスレーブを開始したとき、それはうまく追いつき、現在同期しています。 質問: 現在の値は16Mですが、どのくらいの大きさにすればよいのかを知るには (本番サーバーでの試行錯誤は避けたいです)。 元のスレーブがうまく処理されたときに、マスターの値を増やす必要があるのはなぜですか、本当に新しいスレーブに問題があるのでしょうか? 更新 Rolandoがマスター、古いスレーブ、および新しいスレーブで提案したように、max_allowed_pa​​cketを1073741824に増やし、それらを再起動しました(SET GLOBAL max_allowed_packet = 1073741824;何らかの理由でとらえられなかったようです) 今、最後のIOエラーは以前と同じですが、今では Last_SQL_Error:リレーログ読み取りエラー:リレーログイベントエントリを解析できませんでした。考えられる理由は次のとおりです。マスターのバイナリログが破損している(バイナリログで「mysqlbinlog」を実行すると確認できます)、スレーブのリレーログが破損しています(リレーログで「mysqlbinlog」を実行すると確認できます)、ネットワークの問題、またはマスターまたはスレーブのMySQLコードのバグ。マスターのバイナリログまたはスレーブのリレーログを確認したい場合、このスレーブで「SHOW SLAVE STATUS」を発行することにより、それらの名前を知ることができます。 マスターのファイルでmysqlbinlogを実行すると、コマンドを使って何年も前にスクロールします-ファイルは722Mです-スレーブリレーログでそれを実行すると、 エラー:Log_event :: read_log_event()のエラー: '健全性チェックに失敗しました'、data_len:38916267、event_type:69 エラー:オフセット253のエントリを読み取ることができませんでした:ログ形式のエラーまたは読み取りエラー。 変数を確認しましたが、変更は機能しました mysql>変数LIKE '%max_allowed_pa​​cket%'を表示します。 新しいスレーブ上でmax_allowed_packetAND slave_max_allowed_packetが示され、マスター上ではmax_allowed_packet だから私はマスターでバージョンチェックをしました: mysql> show variables LIKE '%version%'; +-------------------------+--------------------------------------+ | …

1
PostgreSQLのフェールオーバーとレプリケーション
PostgreSQL 9.1を評価していますが、フェイルオーバーとレプリケーションの詳細に関連する質問はほとんどありません。 テストシナリオはほとんどありません。マスターサーバーと少数のスレーブを備えた最初のサーバー。マスターがクラッシュした場合、スレーブの1人がマスターになります。マスターが通常の状態に戻った後、クラスター内の他のサーバーと同期し(ダウン中に行われたすべての変更を適用)、マスターの役割を要求するか、スレーブになります。 PostgreSQLで見られる問題と現在のシナリオは次のとおりです。 1)マスターサーバーの停止を検出するための組み込みツールが表示されません。pgpoolがそれを処理し、トリガーファイルを作成できることを読みました。また、人々はこれにLinuxのハートビートまたは類似のツールを使用していることも読みました。さて、フェールオーバーを検出して、クラスター内に新しいマスターを割り当てることができます。他のスレーブは、新しいマスターが存在することを理解し、今すぐバックアップする必要がありますか? 2)フェールバック手順がわかりません。マスターとスレーブのホスト構成は異なります。マスターフェイルバックがクラッシュした後、2つのマスターを使用できますか?サーバーはどのように同期しますか?「データフォルダーをサーバーに転送して再起動する」などの手動のソリューションのみを見ました。それでは、ここでの解決策やベストプラクティス、または少なくとも主要な原則は何ですか? 3)クライアント側でサーバーの停止を処理するにはどうすればよいですか?接続を作成するときに、サーバーIPを明示的に指定します。マスター-スレーブ構造を認識し、マスターのみにリクエストを送信し、接続が失われた場合にバックアップサーバーに切り替えるなど、何らかの種類のConnectionManagerを開発する必要がありますか?私は、pgpoolがアプリケーションのエントリポイントとなり、正しい方法で接続を管理できることを読みました。ここではpgpoolのみが解決策ですか?フェールオーバーとフェールバックを適切に処理しますか? 4)手動でデータをコピーし、PostgreSQLインスタンスやその他の手作業で行うべきものを再構成することを避けるためのソリューション(商用)もありますか?だから、全員が同期しているときのクラスター構成のようなもので、誰がマスターであり、すべてがオペレーターの注意なしに自動的に切り替わるのかは明らかですか? これらのスレッドと記事によると PostgreSQLでのストリーミングレプリケーションとフェールオーバー PostgreSQL 9.1でのフェイルオーバーの自動化 http://denishjpatel.blogspot.com/2010/11/possibility-of-graceful-switchover.html これらの疑問を解決するための単一の完全自動ソリューションはありません。私は正しいですか? ありがとう!

2
PostgreSQLでのストリーミングレプリケーションとフェールオーバー
PostgreSQLレプリケーションの概念実証を行っています。フォーラムでの議論の後、パフォーマンスが他のソリューションと比較して優れているため、ストリーミングレプリケーションを使用することにしました。PostgreSQLは、ストリーミングレプリケーションの自動フェールオーバーを提供していません。トリガーファイルを使用してスレーブをマスターに切り替えることはできますが、管理はできません。そこで、自動フェイルオーバーと高可用性を備えたソリューションが欲しいのです。 さまざまなソリューションが利用可能です。 Repmgr Linuxハートビート Pgpool-II(自動フェイルオーバーのみ) 使用した場合のその他のツール。 私の質問は、どのソリューションを使用する必要があるのですか?

2
MySQL Master-Slave Replication Setupを作成してトラブルシューティングする最良の方法は何ですか?
私はデータベース管理を始めたばかりです。 mysqlマスター/スレーブレプリケーションのセットアップ中に多くの問題に直面します。 また、通常のmysqlレプリケーションのトラブルシューティングの問題に直面しています。 誰もがこれらすべてに対処する方法を理解するのに役立ちますか?

3
インデックス付き列を持つ大きなテーブルのALTER TABLE
VARCHAR(20)列を持つ大きなテーブルがあり、それをVARCHAR(50)列になるように変更する必要があります。通常、この特定のテーブルでALTER TABLEを実行(TINYINTを追加)するのに約90〜120分かかります。そのため、データベースのユーザーに影響を与えないために、土曜日または日曜日の夜にしかできません。可能であれば、その前にこの変更を行いたいと思います。 列にもインデックスが付けられますが、列の長さを変更した後にインデックスを再構築する必要があるため、ALTER TABLEが遅くなると思われます。 Webアプリは、MySQLレプリケーション環境(26個のスレーブと1個のマスター)でセットアップされます。一度どこかで、1つの方法は最初に各スレーブでALTER TABLEを実行し(ユーザーへの影響を最小限に抑える)、次にマスターでこれを行うことを思い出しますが、それからALTER TABLEコマンドをスレーブに複製しようとしませんか? 私の質問は次のとおりです。ユーザーの混乱を最小限に抑えてこのテーブルを変更する最良の方法は何ですか? 編集:テーブルはInnoDBです。

2
Mongo DBレプリカがRECOVERING状態でスタックする
レプリカセットを作成しましたが、問題はレプリカセットの2メンバー[3メンバーセット]が48時間から復旧モードになっていることです。最初は、回復するノードのサイズが増加していましたが、現在では停止しています。そのため、ノードを復旧する際に、90 GBのデータと60 GBを超えるローカルデータの後にスタックします。 このモードから抜け出す方法は?

2
大規模なMongoDBデータベースをバックアップする方法
MongoDBで大規模なデータセットをバックアップする推奨方法は何ですか?10TBのオーダーのデータサイズがあるとします-どのようにバックアップしますか? 私たちは、隠された、おそらく遅延した、レプリカセットノードを検討しています。遅延は、データベース全体の偶発的なドロップから私たちを保護します。これは実行可能なソリューションですか?調査することをお勧めする他のオプションは何ですか? ありがとう!

1
SQL Server多対1レプリケーション
8つの個別のSQL Server 2008 R2マシンがあり、それぞれが1つのデータベースをホストしています。各データベースには、同一のテーブル構造とスキーマ、および完全に一意のデータがあります。 レポートサーバー(2008または2012)を確立して、8つのソースサーバーの選択したテーブルの行をレポートサーバー上のそれらのテーブルの単一インスタンスに統合します。これは一方向のレプリケーションです(レポートサーバーは変更されません)。比較的低いレイテンシ(20〜30秒など)でソースデータベースから変更を複製する必要があります。 さらに、ソースサーバーへの影響をできるだけ少なくしてこれを実現する方法を見つけたいと思います。これらのサーバーに対するサードパーティのエージェント、トリガー、またはスキーマの変更は、私の環境では困難です。 私の質問: この目標を達成するための有望なアーキテクチャとテクノロジーは何ですか? SQL Serverマージレプリケーションを見てきましたが、遅延が心配です。これはこの目標に適した技術ですか? トランザクションレプリケーション用の多対1のアーキテクチャはありますか? レポートサーバー上の8つのデータベースへの1対1のレプリケーションと、それに続くカスタムマージ機能(2ステップレプリケーション)を検討する必要がありますか? ありがとう、ジョン

6
トランザクションログは縮小せず、DBは複製していると考えます
Kaspersky Security Centerを実行しているSQL Server 2008 R2 Expressデータベースがあり、どのような状況でインストールが行われたのかわかりませんが、データベースはレプリケートされており、トランザクションログからスペースを解放しないと考えているようです。例えば: USE master; SELECT name, log_reuse_wait, log_reuse_wait_desc, is_cdc_enabled FROM sys.databases WHERE name = 'KAV'; SELECT DATABASEPROPERTYEX('KAV', 'IsPublished'); 戻り値: name | log_reuse_wait | log_reuse_wait_desc | is_cdc_enabled -----|----------------|---------------------|--------------- KAV | 6 | REPLICATION | 0 DATABASEPROPERTYEX('KAV', 'IsPublished') ---------------------------------------- 0 [not published] またReplication、SSMS のセクションには何もリストされていません。 これまでに、Googleの結果から収集したいくつかのステートメントを試しました。 USE KAV; …

2
マスター/スレーブレプリケーションの代わりにGalera Clusterを使用することの欠点は何ですか?
通常のマスター/スレーブレプリケーションの代わりにGalera Clusterを使用することの欠点は何ですか?Galeraの0スレーブラグタイム、同期レプリケーション、および単一障害点がないことは非常に魅力的であるように思われますが、なぜGaleraクラスターは一般的ではないのですか?

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