1

マスターとしてセットアップされた 2 つの MySQL データベースがあります - マスターセットアップ。host1 から host2 にデータを複製する際に問題が発生しました。データベース管理初心者です。

エラーログを以下に示します

host1:/$ cat /var/log/mysql/error.log
131115 13:51:06 [ERROR] Slave I/O: error reconnecting to master 'host1@host.company.com:3306' - retry-time: 60  retries: 86400, Error_code: 2003

エラーが繰り返されます。このチュートリアルhttp://dev.mysql.com/doc/refman/5.5/en/replication-howto.htmlとこのhttp://dev.mysql.com/doc/refman/5.0/en/canを実行しました2003 エラー コードのヘルプについては、-not-connect-to-server.htmlを参照してください。

ログから、mysqld が常に実行されており、mysql サーバーにダウンタイムがないことを確認しました。

ホスト 2 からホスト 1 にデータを正常にレプリケートするホスト 2 に対する私の許可を以下に示します。

mysql> show grants;
-------------------------------+
| Grants for admin@localhost                                                                                            |
+--------------------------------------------------------------------------------------------------------------------------+
| GRANT ALL PRIVILEGES ON *.* TO 'admin'@'localhost' IDENTIFIED BY PASSWORD '*53CB11958EE3FBA4B6C0CECA582369151A97FFA9' |
+-------------------------------------------------------------------------------------------

ホスト 1 からホスト 2 に正常にレプリケートされないホスト 1 の許可を以下に示します。

mysql> show grants;
+-------------------------------------------------------------------------------------------
| Grants for admin@localhost                                                                                   |
+-------------------------------------------------------------------------------------------
| GRANT USAGE ON *.* TO 'admin'@'localhost' IDENTIFIED BY PASSWORD '*53CB11958EE3FBA4B6C0CECA582369151A97FFA9' |
| GRANT ALL PRIVILEGES ON `MyDatabase`.* TO 'admin'@'localhost'                                          |
+-------------------------------------------------------------------------------------------

マスターステータス: host2 (ホスト 1 に正しく複製中)

mysql> show master status;
+------------------+----------+--------------+------------------+
| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.000235 | 12804977 |              |                  |
+------------------+----------+--------------+------------------+
1 row in set (0.00 sec)

host1 (ホスト 2 に正しく複製されていない)

mysql> show master status;
ERROR 1227 (42000): Access denied; you need (at least one of) the SUPER,REPLICATION CLIENT privilege(s) for this operation

何が間違っているのかよくわかりません。ホストに正常にレプリケートされる host2 の my.cnf を調べたところ、次のデルタがあります。host1 と host2 の両方に異なるserver-idパラメータが設定されています。どちらの値も 0 より大きいです。

server-id           = 1
replicate-do-db     = MyDatabase
innodb_buffer_pool_size = 2G
innodb_flush_method     = O_DIRECT
read_buffer_size        = 64M
sort_buffer_size        = 64M

私のホスト 1 my.cnf デルタ

server-id = 3

レプリケーションが失敗した原因がわかりません。ここに投稿する前にこのSOリンクの回答を見ましたが、何をする必要があるのか​​ よくわかりません。

Mysql マスター マスター レプリケーションMySQL レプリケーション - マスターへの接続中にエラーが発生し、何が間違っていたのかを特定できませんでした。データベース上の両方のホストは、同じユーザー名とパスワードを持っています。

4

0 に答える 0