助けてください!
GTID メカニズムに基づいてマスター/スレーブ レプリケーションをセットアップしました。スレーブで mysqld の再起動が発生するまで、レプリケーションは正常に機能します。それから混乱が始まります...
このような再起動の後、レプリケーションを復元できません。「START SLAVE」コマンドを発行すると、次のエラー メッセージが表示されます。
1 行目の ERROR 1794 (HY000): スレーブが構成されていないか、正しく初期化できませんでした。マスターまたはスレーブを有効にするには、少なくとも --server-id を設定する必要があります。追加のエラー メッセージは、MySQL エラー ログにあります。
言うまでもなく、my.cnf に server-id を設定しました (以下を参照)。
/var/log/mysqld.log ファイルで、次のエラー メッセージを見つけました。
[エラー] マスター情報の作成中にエラーが発生しました: 複数のレプリケーション メタデータ リポジトリ インスタンスがデータと共に見つかりました。どちらを選択するのが正しいかを判断できません。
[エラー] レプリケーション情報リポジトリの作成または復元に失敗しました。
何が間違っていたのか理解できません。
マスターとスレーブ間の通信は stunnel を介して ssl トンネリングされますが、再起動するまですべてが正しく機能するため、これは関連する事実ではないと思います。
(mysql の再起動後に) レプリケーションを再確立する唯一の方法は、mysql データ ファイルを手動で削除し、マスターからインポートしたダンプ ファイルを再度ロードすることです。(私は mysqldump を使用します)。これはもちろん不合理です。
my.cnf ファイルは次のとおりです。
スレーブ上:
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
# Recommended in standard MySQL setup
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
server-id=2
log-bin=mysql-bin
binlog_format=ROW
relay_log=relay-log
skip-slave-start
enforce-gtid-consistency
gtid-mode=ON
log-slave-updates
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
母親について:
[mysqld]
server-id=1
log-bin=mysql-bin
binlog_format=ROW
gtid-mode=on
enforce-gtid-consistency
log-slave-updates
innodb_buffer_pool_size = 1G
query_cache_size = 32M
スレーブ マシン: Centos 6.6、mysql 5.6.24。
マスター マシン: RHEL 6.6、mysql 5.6.10。
どんな助けでも大歓迎です!
ありがとう
ナダブ・ブルム