web-dev-qa-db-ja.com

Slave_IO_Running:マスター/スレーブレプリケーションでの接続

2つのシステムにマスター/スレーブデータベースレプリケーションを実装しようとしていました。
以下のリンクからの手順に従いました
https://www.youtube.com/watch?v=DmQWcU2INqQ
そして
マスタースレーブレプリケーション

しかし、どちらの場合でも、私は結局

Slave_IO_Running:接続しています
Slave_SQL_Running:はい

私はマシン間のネットワーク接続をチェックしようとしました、そしてそれらはお互いにうまくpingすることができます。
両方のシステムでアンチウイルスとファイアウォールを無効にしました
スレーブがマスターマシン、Workingにアクセスするためのエイリアスを追加しました。
mysqlの3306ポートを使用する両方のマシン。

Last_IO_error:マスター '[email protected]:3306'への接続エラー-再試行時間60再試行:1

4
Eric Bana

私は数日前に同様のエラーに直面しました。いくつかのGoogle検索結果に基づいて、そのエラーを解決することができました。以下は、うまくいくと思われるいくつかの提案です。

  1. 必要な権限を持つ複製ユーザーを作成したかどうかを確認します。そうでない場合は、次のコマンドを使用してマスターに新しいユーザーを作成します。

    Create user ‘repl’@’192.168.2.46’ identified by ‘replpwd’;
    Grant replication slave on *.* to ‘repl’@’192.168.2.46’;
    
  2. 必要なレプリケーションユーザーを既に作成している場合は、レプリケーションユーザーの権限を確認します。次のコマンドを使用して、権限を確認できます。

    show grants for repl;
    
  3. 通常、この問題は不正なパスワードが原因で発生します。その場合、次のコマンドを使用してスレーブのパスワードをリセットできます。

    change master to master_password = 'rplpassword';
    
  4. また、指定されたレプリケーションユーザーとホストIPアドレスに間違いがないか確認してください。

マスターサーバーにpingを実行できるので、おそらく上記の理由が原因です。

4
Rathish

以下に示すように、これらの2行がマスター側で(ネットワークの問題のために)コメントされていることも確認する必要があります。

# skip-networking  
# bind-address = 127.0.0.1

マスタースレーブレプリケーションの詳細については、 このリンク に従ってください。

1
Gaurang Agarwal

以下を試してください:

  1. スレーブを停止
  2. スレーブを開始

今日、私は問題を解決しました。

0
Richardhe2007

MySQLレプリケーションでも同じ問題に直面しました。
私はGRANT ALL特権。次のように、私の問題を解決しました。

GRANT ALL ON *.* TO 'slave_user'@'%' IDENTIFIED BY 'password';
0
Roopa