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

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

3
mysql-binファイルを削除しても安全ですか?
私はこれらに出くわした、私は、MySQLでMMレプリケーションを持っている、と私は、不要なファイルを削除するボックスに空き領域を圧迫したいmysql-bin内のファイル/var/db/mysql/のように、それらのファイルの何百ものがありますがmysql-bin.000123、mysql-bin.000223私は実行してMySQLのレプリケーションを確認しているなどshow master statusとshow slave status彼らは特定の位置でいくつかのmysql-binファイルを使用しますが、他のすべてのbinファイルは、今後使用されない残り物であると思います。この場合、レプリケーションが現在指しているファイル以外のすべてのmysql-binファイルを削除しても安全ですか? 削除しても安全な場合、使用されていないファイルを自動的に削除するためにできることはありますか?

7
MySQLレプリケーションを完全に無効にする方法
デュアルマスターMySQLレプリケーションを実行していますが、レプリケーションなしで単一のデータベースに移行したいと考えています。両方のデータベースでレプリケーションを完全に無効にするにはどうすればよいですか?

3
MySQL 5.1.66 SSL接続エラーERROR 2026(HY000)
更新2 WireSharkを使用して、問題の文字列を見つけました(できたことを願っています)。 28 | 9.582638 | 192.168.18.128 | 192.168.18.129 | MySQL Response Error 1043 そして、エラーは(ドキュメントによると)です: Error: 1043 SQLSTATE: 08S01 (ER_HANDSHAKE_ERROR) Message: Bad handshake 以下は、2つの場合のWireSharkのスクリーンショットです。 Windows 8(成功)からの接続: CentOSからの接続(失敗): なぜこれが起こるのですか? 更新 興味深いの通知: 私は成功したのWindows 8を使用してマスターDBに接続している(192.168.18.1)ため、マスター上のssluserの設定を変更することで、192.168.18.1ホストは-変更を加えた:からREQUIRE SSLへREQUIRE X509。ただし、これは、スレーブからマスターへの接続の場合には機能しません。 CentOS-6.3でSSLレプリケーションの問題に直面しました。OpenSSLを使用してクライアント証明書とサーバー証明書の両方を作成していますが、クライアント証明書とサーバー証明書の両方が同じCAによって署名されています。 Server IP: 192.168.18.128 Slave IP: 192.168.18.129 MySQL version 5.1.66 SSL MySQLヘルプページの「MySQLのSSL証明書とキーの設定」セクションを使用して受け取ったすべての証明書。 サーバーのmy.cnfファイル: [mysqld] ssl-key=/etc/mysql/certs/server-key.pem ssl-cert=/etc/mysql/certs/server-cert.pem …
37 mysql  replication  ssl 

2
実行時にbinlog形式を切り替える最も安全な方法は何ですか?
次の警告のためmysqld.log: [警告] BINLOG_FORMAT = STATEMENT以降、ステートメント形式を使用してバイナリログに書き込まれる安全でないステートメント。このステートメントは、LIMIT句を使用しているため安全ではありません。含まれる行のセットを予測できないため、これは安全ではありません。 レプリケーション形式をに切り替えたいMIXED。 しかし、MySQLドキュメントによると: テンポラリテーブルが存在する場合、実行時にレプリケーション形式を切り替えることはお勧めしません。テンポラリテーブルは文ベースのレプリケーションを使用する場合にのみ記録され、行ベースのレプリケーションでは記録されないためです。 したがって、問題は、バイナリログ形式を安全に切り替えるために一時テーブルが存在するかどうかをどのように識別できるかです。

4
MySQLリレーログが破損しています。どうすれば修正できますか?試したが失敗した
マシンが突然シャットダウンすると、MySQL v5.1.61リレーが破損しました。修正しようとしましたが、うまくいきませんでした。 —どうすれば修正できますか?私は何か間違ったことをしましたか? 私が読んだ限り、破損したMySQLリレーログは簡単に修正されます。 change master to master_log_file='<Relay_Master_Log_File>', master_log_pos=<Exec_Master_Log_Pos>; どこRelay_Master_Log_FileでExec_Master_Log_Posリストは次のとおりです。 mysql> show slave status; しかし、私がやったとき change master status ...そうすると、プライマリキー違反エラーが発生しました。そんなことがあるものか?上記の手順は正しくありませんか? (今のところ、マスターからスレーブに--master-data mysqldumpを再インポートするだけで問題は解決しました。しかし、将来的には、これを行うのは適切ではないかもしれません。) ここに私の特定の問題に関する詳細が続きます: mysql> show slave status \G *************************** 1. row *************************** Slave_IO_State: Waiting for master to send event Master_Host: the-master-host Master_User: replication Master_Port: 3306 Connect_Retry: 60 Master_Log_File: mysql-bin.000021 Read_Master_Log_Pos: 33639968 …

5
新しいスナップショットを生成せずに記事をトランザクションパブリケーションに追加する
プルサブスクライバーでSQL 2008 R2トランザクションレプリケーションを使用して、記事を追加するときに、スナップショット全体を作成する必要がないようにしたいと思います(dbは最大80 GBであるため、これには数時間かかります)。 この記事から、immediate_syncをオフに設定することで部分スナップショットでこれを行う方法を見てきましたが、それはうまくいきませんでした。 理想的には、dbスクリプトの一部としてこれを実行してテーブルを作成したいので、複製する場合は次のようにします。 Create Table ... sp_addArticle ... sp_PushThisToOurSubscribersNow

3
MySQLレプリケーションスレーブを読み取り専用に設定する必要がありますか?
このガイドに従って、Percona Server 5.5でレプリケーションを実行していますが、読み取り専用にするためにread-only=1スレーブに追加すべきかどうか疑問に思いましたmy.cnf。 このガイドでは、ユーザーが複製されるようにmysqlテーブルのレプリケーションを設定しますが、私は主にスレーブを使用してmysqldumpを取得し、緊急時にマスターに再構成します。それは常に?

3
ホットスタンバイサーバーでpg_dumpを実行していますか?
免責事項:私は確かにこれをまだ試していませんが、それが正しく動作していなかったかどうかわからないので、尋ねたいと思いました。 pg_dumpallプライマリに負荷をかけないように、ストリーミングレプリケーションを実行しているホットスタンバイサーバーから(経由で)夜間バックアップジョブを実行したいと思います。ここやここなどで人々が遭遇したいくつかの落とし穴について言及しているだけですが、ガイダンスはほとんどありません。バックアップが一貫している限り(それがあるはずです)、バックアップがプライマリよりわずかに遅れていても問題ありません。 私の質問は: 本当にこれを実行したいのですか、またはプライマリサーバーでバックアップを実行する必要がありますか?どうして? スタンバイでダンプを行うとき、どの設定が必要ですか、それを正しく行うために手順を使用する必要がありますか?たとえば、バックアップ中はレプリケーションを停止する必要がありますか?

3
SQL Serverデータベースの同期
問題定義 ユーザーには、ほとんどが最新のデータベースを照会する機能が必要です。データは最大24時間古くなる可能性があり、許容範囲内です。本番コピーで2番目のデータベースを取得して最新の状態に保つための最低コストのアプローチは何でしょうか?私が考えていないアプローチはありますか? 仕事量 株式取引活動の監視に使用するサードパーティのアプリケーションがあります。日中は、さまざまな作業フローの一部として多くの小さな変更が発生します(はい、この取引は有効でした。いいえ、これは疑わしいなどです)。夜には、大規模なセットベースの操作を実行します(前日の取引を読み込みます)。 現在の解決策と問題 データベーススナップショットを使用します。午後10時にスナップショットを削除して再作成します。ETL処理が開始されます。これは明らかにディスクに負担がかかりますが、ユーザーはデータベースをロックせずにデータベースを照会できます(Accessフロントエンドを使用します)。彼らはそれを夜遅くまで、また早朝に使うので、ダウンタイムに気づくでしょう。 このアプローチの問題は2つあります。1つ目は、夜間の処理が失敗した場合であり、これはそれほど珍しいことではないため、データベースを復元し、スナップショットが削除されることです。もう1つの問題は、処理時間がSLAを超えていることです。不十分な記述のクエリとインデックス作成の欠如を特定した後、ベンダーと協力してこの問題に対処しようとしています。データベースのスナップショットは、速度が存在する場合と存在しない場合の速度の違いから明らかなように、この速度低下の原因でもあります。 考慮されるアプローチ クラスタリング データベースクラスタリングを有効にしましたが、データを使用可能にする必要性に対処できず、一般的に管理者の生活を複雑にしました。それ以降はオフになっています。 SQL Serverレプリケーション 先週、レプリケーションを検討し始めました。私たちの理論では、2番目のカタログを立ち上げ、本番データベースと同期させることができます。ETLを開始する前に、接続を切断し、ETLプロセスが完了してから再度有効にします。 管理者はスナップショットレプリケーションを開始しましたが、スナップショットと必要なディスク消費量を生成するためにCPU使用率が数日かかることを心配しています。彼は、サブスクライバーに出荷する前にすべてのデータを物理ファイルに書き出すように見えるため、0.6TBのデータベースのストレージコストは1.8TBになると指摘しています。また、スナップの生成に数日かかる場合、目的のSLAに適合しません。 すばらしい記事を読んだ後、Snapshotがサブスクライバを初期化する方法であるように思えますが、その後、トランザクションレプリケーションに切り替えて同期を維持したいと思います。トランザクションレプリケーションをオン/オフしても、完全な再初期化は強制されませんか?それ以外の場合は、時間枠を爆破します データベースミラーリング データベースは完全復旧モードになっているため、データベースミラーリングはオプションですが、レプリケーションよりも知識が少ないです。「データベースミラーリングによってデータに直接アクセスすることはできません。ミラーリングされたデータにはデータベーススナップショットからのみアクセスできます」というSOの答えが見つかりました。 ログ配布 ログ配布もオプションのように思えますが、これは私が何も知らないことの別のものです。他の何よりも低コストのソリューション(実装と保守)でしょうか?Remusのコメント「ログシッピングはレプリカコピーへの読み取り専用アクセスを許可しますが、受信した次のバックアップログを適用するときにすべてのユーザーを切断します(15分から30分ごとなど)。」そのダウンタイムがどれくらいの時間に変換されるかわからないので、ユーザーが不安を感じるかもしれません。 MS Sync 先週末、Syncの使用について聞いただけで、まだ調査していません。この問題のように視認性の高いものに新しいテクノロジーを導入するのは嫌ですが、それが最良のアプローチである場合は、そうしてください。 SSIS ここでは多くのSSISを実行しているため、数百のSSISパッケージを生成してセカンダリの同期を維持することは、見苦しいとはいえ、オプションです。私はこれを行うのが好きではありません。それは多くのメンテナンスのオーバーヘッドであり、むしろ私のチームが引き受けないようにするためです。 SAN「マジック」スナップショット 過去に、管理者がSANテクノロジーを使用してディスク全体のインスタントバックアップを作成したことを聞いたことがあります。おそらく、mdf / ldfのuberquickコピーを作成するために使用できるいくつかのEMCマジックがあり、ターゲットデータベースをデタッチ/アタッチできます。 バックアップと復元 週に1回フルバックアップを取り、夜間に差分を取り、15分ごとにtlogを取ります。ユーザーが完全な復元のために3〜4時間の停止に耐えることができる場合、これはアプローチであると思われます。 制約 Windows 2008 R2、SQL Server 2008 R2(Enterprise Edition)、VMWare v5 Enterprise Edition、vmdkファイルにマップされたドライブを備えたEMC SANストレージ、Commault処理バックアップ、およびソースカタログ内の.6TBのデータ。これは、社内でホストするサードパーティアプリケーションです。それらの構造を変更することは、一般的に嫌われています。ユーザーは、データベースにクエリを実行せずに進むことはできず、作業を行うために監視するテーブルを積極的に識別することによる制約を受けることを拒否します。 現在、DBAは純粋に請負業者です。常勤者は出航しており、私たちはまだ交代していません。アプリケーション管理者はSQL Serverの問題に精通しておらず、この作業を支援/妨害できるストレージ/ VM管理者のチームがあります。開発チームは現在関与していませんが、アプローチに基づいて参加できます。そのため、ソリューションの実装と保守がより簡単であることが望ましいでしょう。 私は、法務の開発側にいるので、アプローチを提案することしかできず、物事の管理側に対処する必要はありませんでした。だから、管理者のサドルに時間がないので、あるアプローチが別のアプローチよりも優れていると言うのをためらっています。私が見ているように、それはDBの専門家として私をより価値あるものにするだけだからです。手押し車は持っていますが、ホロコーストマントはありません。 関連する質問 /programming/525637/what-are-the-scenarios-for-using-mirroring-log-shipping-replication-and-cluste /programming/434982/mirroring-vs-replication /programming/4303020/sync-databases-mirroring-replication-log-shipping …

3
PostgreSQL:pg_start_backup()を、負荷がかかっている稼働中のdbで実行できますか?
確立された複製が壊れています(ダウンタイム中に「要求されたWALセグメントは既に削除されています」)マスターを簡単に停止することは簡単にできません。 できますか pg_start_backup()、 rsync ${PGDATA}/ マスターからスレーブ、 pg_stop_backup() ...マスターpostgresqlがまだ全負荷下にある間に?(またはにpg_start_backup()つながる テーブルロック、 I / Oブロック、 矛盾、 火災警報、 データベース応答が遅い つまり、pg_start_backup()アプリケーションに影響しますか?

3
Postgresqlはレプリケーション接続を受け入れません
昔ながらのストリーミングレプリケーション。PostgreSQL:9.2.7 Windows 8.1 64ビット プライマリクラスタとセカンダリクラスタは同じ Windowsマシン上にあります。pg_start_backup()とすべてをすでに実行しているため、両方のノードにまったく同じデータがあります。 現在、レプリケーションの問題は、スレーブサーバーからプライマリサーバーに接続しない「レプリケーション接続」ですが、psqlシェルを使用して同じパラメーターを使用して接続できます。私が犯人だと思うのは、スレーブのrecovery.confの接続文字列です。 primary_conninfo = 'host = 127.0.0.1 port = 5432 user = postgres password = postgres' localhost、0.0.0.0、lan IPをすべて試しましたが、pgログには次のように書かれています: FATAL: could not connect to the primary server: FATAL: no pg_hba.conf entry for replication connection from host "127.0.0.1", user "postgres", SSL off マスターのpg_hba.confを見てください: host all all 0.0.0.0/0 …

2
帯域幅の問題に対処するために、MySQL 5.0レプリケーションで何ができますか?
リモートマスターの読み取り専用スレーブとして機能するMySQLサーバー5.1インスタンスで構成されたクライアントPC(Win)で実行するアプリケーションを開発しています。リモートマスターには多数のスキーマがありますが、クライアントごとに1つしか必要ないため、my.iniでreplication-do-db設定を指定して、クライアントが必要とするスキーマのみを複製します。レプリケーションは機能しますが、クライアントがデータ使用量によって課金される3Gワイヤレス経由でのみインターネットアクセスが利用できる世界の地域に入ると、データプランの制限をすぐに超えて、高価な問題が発生します。 私が理解しているように、MySQLはすべてのスキーマのすべてのトランザクションを単一のbinlogファイルに書き込みます。つまり、各クライアントはマスターのすべてのスキーマで実行されるすべてのトランザクションをダウンロードし、ダウンロードしたら、レプリケーションごとにデータベースフィルターを適用する必要があります。クライアントのmy.iniファイルのdo-db設定。 この非効率性を最小限に抑えるために、slave_compressed_protocol = 1の設定を使用しました。これにより、送信データが50%削減されるように見えますが、クライアントのデータ制限をすぐに超えて3Gの請求額が発生します。 私がこれに直面しているのは自分だけだとは想像できないので、x = yを設定することでこれを達成する方法についてたくさんの答えが得られると確信しています。ただし、このような設定のドキュメントも、推奨されるアプローチも見つかりません。 これまでのところ、可能な解決策に対する私の考えは、フィードバックまたは代替ルートを提供してください: 各スキーマに「プロキシ」スレーブを設定します(異なるボックス、または異なるMySQLインスタンス/ポートを持つ同じボックスに) クライアントが複製したい1つのデータベースのみをreplicate-do-dbにプロキシスレーブを設定します。 クライアントのMySQLインスタンスを適切なプロキシスレーブのスレーブとして構成します。 これがなければならないだけで自分のスキーマのビンログデータを引っ張って、クライアントにつながります。欠点(私が知る限り)は、セットアップの複雑さを劇的に増加させ、おそらくより脆弱にすることです。 考え?このアプローチは機能しますか? RedHatでMySQL 5.0サーバーを実行していることに注意してください。ただし、ソリューションが生成される場合は5.5にアップグレードできます。

3
mysqlマスタースレーブでマスターを決定する方法
MySQLマスタースレーブレプリケーションを設定し、スレーブをマスターに昇格させるフェールオーバー状況を処理する方法を見つけようとしています(マスターがダウンした場合)。 アプリケーションサーバーはすべての書き込みを現在のマスターに転送する必要がありますが、2つのdbサーバーは物理的に異なる場所にある完全に異なるサブネット上にあるため、マスターとスレーブの間でサーバーレベルのHA(ハートビート、キープアライブ)を使用できません。 これは、アプリケーションレベルで処理する必要があるものだと思います。2つのサーバーにクエリを実行し、どちらがマスターかを尋ねてから、そのサーバーに対するすべてのクエリを実行できます。 現在のサーバーがマスター/スレーブレプリカのマスターであるかどうかを確認するクエリがMySQLにありますか?

1
MySQL Master / Slaveレプリケーションでは、スレーブに書き込むとどうなりますか?
いくつかの質問 スレーブに影響を与える可能性のあるマスターのテーブルへの挿入/更新/削除があるまで、スレーブエントリは残りますか? そうでない場合は、スレーブがマスターと同期していることをどのように確認しますか(スレーブエントリを削除するか、そのエントリをマスターに手動でコピーします)? 最も重要なのは、テーブルが同期していないことをどのように検出するかです。

5
高度な同時書き込み、高書き込みDBのインフラストラクチャ
私の要件は次のとおりです。 3000接続 70-85%の書き込みと読み取り 現在、700の接続でHigh-CPU、エクストララージインスタンスを最大化しています。8コアすべてが最大化されています。メモリが十分であるため、同時接続の数だと思います。書き込み自体は非常に単純です(検証によって処理が遅くなります)。3000に拡張するには、現在のオプションである複数のサーバーに移動する必要があります。 MySQLシャーディング MongoDBクラスター カサンドラ HadoopとMySQL(Hadoopキャッシュ、MySQLへの単一ダンプ) MongoDBとMySQL(Hadoopの代わりに、mongoをキャッシュに使用します) この数の接続を処理するには、いくつかの質問があります。 MySQL Shardingは同時接続を処理できますか? 単一のマスターがこれらの同時接続を処理できますか、またはMongoのようなマルチヘッドがより良いオプションですか? 問題をうまく説明していない場合は謝罪します。質問してください。

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