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
私は数日前に同様のエラーに直面しました。いくつかのGoogle検索結果に基づいて、そのエラーを解決することができました。以下は、うまくいくと思われるいくつかの提案です。
必要な権限を持つ複製ユーザーを作成したかどうかを確認します。そうでない場合は、次のコマンドを使用してマスターに新しいユーザーを作成します。
Create user ‘repl’@’192.168.2.46’ identified by ‘replpwd’;
Grant replication slave on *.* to ‘repl’@’192.168.2.46’;
必要なレプリケーションユーザーを既に作成している場合は、レプリケーションユーザーの権限を確認します。次のコマンドを使用して、権限を確認できます。
show grants for repl;
通常、この問題は不正なパスワードが原因で発生します。その場合、次のコマンドを使用してスレーブのパスワードをリセットできます。
change master to master_password = 'rplpassword';
また、指定されたレプリケーションユーザーとホストIPアドレスに間違いがないか確認してください。
マスターサーバーにpingを実行できるので、おそらく上記の理由が原因です。
以下に示すように、これらの2行がマスター側で(ネットワークの問題のために)コメントされていることも確認する必要があります。
# skip-networking
# bind-address = 127.0.0.1
マスタースレーブレプリケーションの詳細については、 このリンク に従ってください。
以下を試してください:
今日、私は問題を解決しました。
MySQLレプリケーションでも同じ問題に直面しました。
私はGRANT ALL
特権。次のように、私の問題を解決しました。
GRANT ALL ON *.* TO 'slave_user'@'%' IDENTIFIED BY 'password';