質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

91.24%

  • MySQL

    4584questions

    MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

  • AWS(Amazon Web Services)

    1356questions

    Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

AWSのRDSからEC2のMySQLへレプリケーションすると1594エラーが発生する

受付中

回答 0

投稿

  • 評価
  • クリップ 0
  • VIEW 39

machkicker

score 2

前提・実現したいこと

AWS環境にてRDSからEC2内に構築したMySQLサーバにDBテーブルをレプリケーションしたい。
RDS:MySQL5.6
EC2:MySQL5.5

発生している問題・エラーメッセージ

スレーブ側でchange master to ~の設定を変えた後、START SLAVEしてしばらくすると、
以下の1594エラーが出る。

Last_Errno: 1594
Last_Error: Relay log read failure: Could not parse relay log event entry. The possible reasons are: the master's binary log is corrupted (you can check this by running 'mysqlbinlog' on the binary log), the slave's relay log is corrupted (you can check this by running 'mysqlbinlog' on the relay log), a network problem, or a bug in the master's or slave's MySQL code. If you want to check the master's binary log or slave's relay log, you will be able to know their names by issuing 'SHOW SLAVE STATUS' on this slave.

該当のソースコード

1.RDS側からDBをdumpしてEC2(ローカル)にリストア

$ mysqldump -h [RDSエンドポイント] --databases [DB名] -uroot -p  > mysql.dump
$ mysql -uroot -p -h localhost [DB名] < mysql.dump


2.RDS側に接続してmasterのステータスを取得

mysql> show master status;
+----------------------------+----------+--------------+------------------+-------------------+
| File                       | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+----------------------------+----------+--------------+------------------+-------------------+
| mysql-bin-changelog.123456 |     1234 |              |                  |                   |
+----------------------------+----------+--------------+------------------+-------------------+


3.スレーブ側MySQLにログインし以下のコマンドを実行

mysql> change master to MASTER_HOST='(RDSのエンドポイント名)', MASTER_USER='repl', MASTER_PASSWORD='(パスワード)', MASTER_LOG_FILE='mysql-bin-changelog.123456', MASTER_LOG_POS=1234;

mysql> START SLAVE;


その後、show slave statusすると上記の1594エラーの表示がされます。

試したこと

https://qiita.com/kooohei/items/4fdbbfbb7dc3f884577c
こちらのページを参考に各設定を行いました。

■RDS側(パラメータグループの設定)
binlog_format=MIXED
max_allowed_packet=1073741824 (最大値)

■EC2側(my.cnfの設定)
server-id=209
replicate-do-db=(DB名)
binlog_format=MIXED
max_allowed_packet=1073741824

補足情報(言語/FW/ツール等のバージョンなど)

RDS: MySQL5.6
EC2: MySQL5.5

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

まだ回答がついていません

15分調べてもわからないことは、teratailで質問しよう!

ただいまの回答率

91.24%

関連した質問

同じタグがついた質問を見る

  • MySQL

    4584questions

    MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

  • AWS(Amazon Web Services)

    1356questions

    Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。