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

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

1
TRUNCATE TABLEに非常に長い時間がかかる原因は何ですか?
MySQL5.5をマスター/スレーブレプリケーション(1マスター、2スレーブ)で実行しています。 週に1回実行して特定のテーブルを切り捨てるプロセスがあります。テーブルは大きくなく、数千のレコードしかありません。 何らかの理由で、TRUNCATE TABLEコマンドの実行に非常に長い時間がかかります(マスターとスレーブの両方で)。実行には約400Kミリ秒かかります!! スレーブで実行すると、マスターから遅れます。終了後TRUNCATE TABLE、すべてが正常に戻ります。 スレーブの1つはTRUNCATE TABLE専用スレーブであり、そのスレーブから読み取るプロセスがダウンしていたため、実行中に読み取りを受信しなかったことがわかっています。また、このスレーブでは、実行に同じ時間がかかりました。 これがテーブル構造です:http : //pastebin.com/qEQB4juR TRUNCATE TABLEをどのように高速化できるかについての考えはありますか?

4
マスター上の大量のリレーログ
私には、今日のところ最近298のリレーbinファイルがあり、298日前まで遡るマスターがあります。 .cnfにリレーログ定義がありません そして mysql> show variables like '%relay%'; +---------------------------------+----------------+ | Variable_name | Value | +---------------------------------+----------------+ | innodb_overwrite_relay_log_info | OFF | | max_relay_log_size | 0 | | relay_log | | | relay_log_index | | | relay_log_info_file | relay-log.info | | relay_log_purge | ON | | relay_log_space_limit | 0 | +---------------------------------+----------------+ スレーブをリセットすると、それらはクリアされますが、その後、再生が開始されます。 …

2
MySQLスレーブが「mysql」データベースへの変更を複製しないようにするにはどうすればよいですか?
これで説明されているように、「mysql」データベースを複製しないようにスレーブを設定しています SHOW SLAVE STATUS\G; Slave_IO_State: Waiting for master to send event Master_Host: 127.0.0.1 Master_User: replication Master_Port: 3306 Connect_Retry: 60 Master_Log_File: master-bin.000001 Read_Master_Log_Pos: 1660 Relay_Log_File: mysql-relay-bin.000004 Relay_Log_Pos: 478 Relay_Master_Log_File: master-bin.000001 Slave_IO_Running: Yes Slave_SQL_Running: Yes Replicate_Do_DB: **Replicate_Ignore_DB: mysql** Replicate_Do_Table: Replicate_Ignore_Table: Replicate_Wild_Do_Table: Replicate_Wild_Ignore_Table: Last_Errno: 0 Last_Error: Skip_Counter: 0 Exec_Master_Log_Pos: 1660 Relay_Log_Space: 633 Until_Condition: …

1
MySQLレプリケーション:マスターの後ろの超高音
本番データベース用にスレーブdbサーバーをセットアップしましたが、show slaveステータスを確認したところ、マスターの数秒後に非常に大きな数値が表示されました。 これは出力です: Slave_IO_State: Waiting for master to send event Master_Host: 1.2.3.4 Master_User: replicator Master_Port: 3306 Connect_Retry: 60 Master_Log_File: mysql-bin.000173 Read_Master_Log_Pos: 15909435 Relay_Log_File: mysqld-relay-bin.000079 Relay_Log_Pos: 91173356 Relay_Master_Log_File: mysql-bin.000093 Slave_IO_Running: Yes Slave_SQL_Running: Yes Replicate_Do_DB: Replicate_Ignore_DB: Replicate_Do_Table: Replicate_Ignore_Table: Replicate_Wild_Do_Table: Replicate_Wild_Ignore_Table: Last_Errno: 0 Last_Error: Skip_Counter: 0 Exec_Master_Log_Pos: 91173210 Relay_Log_Space: 8179978166 Until_Condition: None Until_Log_File: …

2
SQL Serverレプリケーション代替ソフトウェア
SQL Serverレプリケーションを長い間使用していて、いくつかの問題がありました。サブスクリプションを再初期化して、一部の問題を修正したり、レプリケーション構造全体を破棄して再構築したりする必要があったこともあります。 私たちの主な懸念は、レプリケーションの問題が発生すると、ほとんどの場合、簡単な解決策は、ビジネス要件で受け入れられないレプリケーションを再初期化することです。 現在、私たちは新しい大きなプロジェクトをリリースする準備をしています。SQLServerレプリケーションを実行するためのサードパーティソフトウェアを探しています。 私たちのセットアップには、ブランチに分散したサーバー(さまざまな国)+モバイルクライアント(ローカルSQL Serverデータベースを備えたラップトップ)が含まれており、記事のフィルタリングを提供する機能を使用して、これらすべての間でデータを複製する必要があります。 誰かが私たちにいくつかの代替ソリューションを提案してくれませんか?

4
mysqlのレプリケーションは成功したが、スレーブがレプリケーションしていない
mysqlのマスター/スレーブ構成を作成しましたが、問題はありません。「マスターステータスの表示」スレーブではエラーは表示されません。これは出力です Slave_IO_State: Waiting for master to send event Master_Host: 109.123.100.58 Master_User: replica Master_Port: 3306 Connect_Retry: 60 Master_Log_File: mysql-bin.000001 Read_Master_Log_Pos: 106 Relay_Log_File: relay-bin.000001 Relay_Log_Pos: 4 Relay_Master_Log_File: mysql-bin.000001 Slave_IO_Running: Yes Slave_SQL_Running: Yes Replicate_Do_DB: Replicate_Ignore_DB: Replicate_Do_Table: Replicate_Ignore_Table: Replicate_Wild_Do_Table: Replicate_Wild_Ignore_Table: Last_Errno: 0 Last_Error: Skip_Counter: 0 Exec_Master_Log_Pos: 106 Relay_Log_Space: 106 Until_Condition: None Until_Log_File: Until_Log_Pos: 0 …

1
Postgres 9.2のストリーミングレプリケーションは、スキーマの変更と初期テーブル設定をどのように処理しますか?
プライマリ物理データベースサーバーのすぐ下にある物理サーバーにバックアップデータベースをセットアップしたいと考えています。私はPostgres 9.2を使用しており、同期のストリーミングレプリケーション(アトミック性のため)を使用したいのですが、A)初期テーブルセットアップがサーバー1からサーバー2に転送される(たとえば、syncdbサーバー1)に一連のテーブルを作成する私のDjangoアプリから、およびB)サーバー1からサーバー2への継続的なスキーマ変更の実行方法(たとえば、Django South移行をALTER TABLE実行し、クエリを送信するだけでなく、追加/インデックスの削除など)。これらはストリーミングレプリケーションで透過的に処理されますか、それとも両方のサーバー間でこの変更に影響を与えるために何かしなければならないことがありますか?

1
サーバークラッシュ後にレプリケーションを復元する方法
1つのSQL Server 2005インスタンスに2つのデータベースがあり、それらの間でトランザクションレプリケーションが行われていました(記事として3つのテーブル)。このサーバーは、パブリッシャーとディストリビューターの両方として機能しました。 次に、サーバーのRAIDに障害が発生しました。しかし.mdf、クラッシュする前に、ほぼすべてのファイルを切り離してコピーすることができました。 システムの復元後、SQL Serverを再インストールし、システムデータベース(master、model、msdb)を復元して、.mdfファイルを同じパスに配置しました。それで始まった。 レプリケーションで問題が発生しました。ローカルパブリケーションのフォルダは、空であったけれどもローカルサブスクリプション問題のサブスクリプションが含まれていたフォルダ。私が新しい出版物を追加しようとしたとき、私は得ました: 新しいパブリケーションウィザードで、パブリケーション名の取得中に1つ以上のエラーが発生しました。 Transact-SQLステートメントまたはバッチの実行中に例外が発生しました。(Microsoft.SqlServer.ConnectionInfo) 無効なオブジェクト名 'dbo.syspublications'。(Microsoft SQL Server、エラー:208) 左側のサブスクリプション(最終的にはなんとか管理できました)を削除して、サーバーでの公開と配布を無効にすることを試みることにしました。 SQL Serverは 'someserver'での公開と配布を無効にできませんでした。 無効なオブジェクト名 'dbo.syssubscriptions'。EXECUTEの後のトランザクション数は、COMMITまたはROLLBACK TRANSACTIONステートメントが欠落していることを示しています。以前のカウント= 0、現在のカウント=1。EXECUTE後のトランザクションカウントは、COMMITまたはROLLBACK TRANSACTIONステートメントがないことを示しています。以前のカウント= 0、現在のカウント=1。EXECUTE後のトランザクションカウントは、COMMITまたはROLLBACK TRANSACTIONステートメントがないことを示しています。以前のカウント= 0、現在のカウント=1。EXECUTE後のトランザクションカウントは、COMMITまたはROLLBACK TRANSACTIONステートメントがないことを示しています。以前のカウント= 0、現在のカウント=1。EXECUTE後のトランザクションカウントは、COMMITまたはROLLBACK TRANSACTIONステートメントがないことを示しています。以前のカウント= 0、現在のカウント=1。データベースコンテキストを「マスター」に変更しました。(Microsoft SQL Server、エラー:208) システムデータベースバックアップから一部の情報が復元されなかったようです(おそらくdistributionデータベースに何かが欠落している可能性があります)。 また、公開と配布を無効にできないという質問に答えるようにしました。しかし、成功しませんでした。私が作成しようとしたsyspublicationsの両方をmasterしてdistribution、何も変わっていません。 では、このサーバーでレプリケーションを機能させるにはどうすればよいですか? サーバー上で他のデータベースを公開しようとしましたが、うまくいきました。したがって、問題は公開されたデータベースに関連しているようです。どうすればそれをクリアして、その上に新しいパブリケーションを作成できますか? System Tables 問題のあるデータベースのサブフォルダは、データベースがパブリッシュされたときに作成されるレプリケーションテーブルを見逃します。 レプリケーションモニターでは、これらの古いサブスクリプションを確認できますが、レプリケーションフォルダーでは使用できません 。


1
SQL Server 2000から2008へのトランザクションレプリケーション
トランザクションレプリケーションを使用してSQL Server 2008 R2データベースに複製しようとしている2つのSQL Server 2000サーバーにレガシーデータベースがあります。 2008サーバーは同じLAN内にないため、インターネット経由で複製しています。次のMohammedU(およびその他)の説明に従って、各サーバーが多少なりとも(レプリケーションに必要な)名前で他のサーバーに接続できるようにエイリアスを作成しました。http://social.msdn.microsoft.com/forums/en-US/ sqlreplication / thread / 9a8cf6b1-a449-4748-b3c2-1c13e2bfcc5b / 唯一の違いは、SS2000マシンにエイリアスを作成するために、Configuration Managerではなくクライアントネットワークユーティリティを使用したことです。これは正常に動作するようです。 両方のディストリビューターになるように、1つのSS2000サーバー(Distributorと呼びます)をセットアップしました。ディストリビューターでパブリケーションを正常に作成し、SS 2008サーバーへのプッシュサブスクリプションを使用してそれらをレプリケートしました。 これで、2番目のSS2000サーバーにパブリケーションを設定しました。これをパブリッシャーと呼びます。同じ方法でプッシュサブスクリプションを作成しました。これらのサブスクリプションは機能していません。 ディストリビューターのレプリケーションモニターで、パブリッシャーのパブリケーションのディストリビューションエージェントに次のエラーメッセージが表示されます。 Error message: The process could not connect to Subscriber 'SUBSCRIBER' Error details: Login failed for user 'SUBSCRIBER\Guest.' (Source: SUBSCRIBER (Data source); Error number: 18456) サブスクライバーでプルサブスクリプションを作成してみました。ウィザードによると、それらは正常に作成され、対応するディストリビューションエージェントはディストリビューターのレプリケーションモニターに正しく表示されましたが、レプリケーションは行われませんでした。エージェントは、スナップショットが利用可能であっても利用できなかったというメッセージを表示し続けました。 誰か助けてもらえますか?

2
可用性グループはトランザクションレプリケーションを置き換えることができますか?
SQL Server 2012の新機能と、それが現在の状況にどのように役立つかを検討してきました。 現在、SQL Server 2008 R2を使用しており、トランザクションレプリケーションを介して2つのOLTPサーバーのデータベースを1つのレポートサーバーに複製します。次に、これらの複製されたDBをレポートに使用します。 SQL Server 2012と可用性グループでこれを置き換えることができるかどうかに興味があります。トランザクションレプリケーションの代わりに、新しい可用性グループを使用して、2つのOLTPサーバーのデータベースをレポートサーバーにミラーリングします。読み取り専用レプリカにアクセスします。 これがうまく機能するか、それともまったく機能しないかはわかりません。 レプリケーション(VSDBCMD.exeの使用)で問題が発生するため、レプリケーションを回避します。大規模なDBでのレプリケーションの再初期化の遅延を回避したいのですが。 誰か良い例や経験がありますか?以前のバージョンでの通常のミラーリングのように、複数のサーバーから単一のサーバーに読み取り可能なレプリカでミラーリングすることは可能ですか? これはもともとここで尋ねられました:https : //stackoverflow.com/questions/10415225/mirroring-and-availability-groups-in-sql2012申し訳ありませんが、まだ質問を移行することはできません。

1
PostgreSQLフェイルオーバー-どのツールを使用する必要がありますか?
ここにシナリオがあります: CentOS 6.2を実行しているマシンが2つあります-machine0とmachine1 どちらにもPostgreSQL 9.1がインストールされています。 それらの1つはマスターシステムとしてアクティブでなければならず、非同期ストリーミングレプリケーションを介して他のマシンを介して、スタンバイはマスターシステムからデータベースに変更をコピーする必要があります。 最初はmachine0がマスターで、machine1がスタンバイであると想定します。 マスター(machine0など)に障害が発生した場合(ここでの障害とは、postgresqlサーバーがクラッシュしたことを意味します)、スタンバイはマスターから引き継ぎ、新しいマスターになる必要があります。 machine1は、新しいマスターがすべてのデータベース操作を処理し、machine0のpostgresqlサーバーがオンラインに戻ると、スタンバイになり、machine1との接続を失った時点から同期を開始し、すべての変更をデータベースにコピーしてスタンバイモードのままにします。 machine1に障害が発生すると、サイクル全体が繰り返されます。 スタンバイに障害が発生してオンラインに戻ると、マスターからの読み取りが開始され、データが同期されます。 PostgreSQLはデフォルトではフェイルオーバーを備えていないことを理解しているので、これを設定するために使用する必要があるツールについて混乱しています。 誰かが私が私がしようとしていることをする方法を説明するスレッド/ページに私をリンクできれば、私は本当に感謝します。

3
スケールアウトのためのレプリケーションの使用
「スケールアウトのためのレプリケーションの使用」を読んだ後、さまざまなクエリをさまざまなサーバーにルーティングする方法を教えてください。たとえば、SELECTスレーブとNON-SELECTマスターにルーティングする必要があります。私はロードバランサーとしてhaproxyを使用できると思いますが、haproxyのレベルでクエリを区別することはできないと思いましたか?さらに、誰かがマスターに直接到達したとします。マスターがこれがSELECTクエリであることを識別し、スレーブまたはロードバランサーに送信されるように表示するにはどうすればよいでしょうか。

1
MySQLの高可用性、フェイルオーバー、およびレイテンシを伴うレプリケーション
MySQLで実行される新しいCMS(Drupal 6.x)の実装を進めています。プライマリとセカンダリの2つのデータセンターがあり、それらの間のレイテンシは既知です。MySQLのどのバージョンを実行するか不明です。コミュニティまたはエンタープライズのいずれかですが、それは未定です。InnoDBエンジンを実行するように見えます。OSはRedHat EL 5.5になります。セカンダリサーバーはパッシブまたはホットスタンバイですが、プライマリサーバーはアクティブになります。 MySQLのレプリケーション、高可用性、自動フェイルオーバーを2つのデータセンターに実装したいと考えています。 セカンダリサーバーへのフェールオーバー後、プライマリサーバーにフェールバックするとき、プライマリサーバーからコンテンツを引き続き提供できるように、セカンダリDBからプライマリDBにデータを迅速かつ完全に同期させたいと考えています。 これらの問題を解決/解決するために使用できるテクノロジー/ツール/ベストプラクティスを知ることに興味があります。また、落とし穴やああは瞬間も同様に高く評価されます。MySQLのレプリケーション、クラスタリング、TungstenやDolphinicsなどのサードパーティツールについては読んだことがありますが、どのようなアクションが最適かわかりません。 お時間をいただきありがとうございます! KM
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.