スレーブサーバーで次の警告が表示されます。
2016-11-18 22:48:03 12808 [Warning] Slave SQL: If a crash happens this configuration does not guarantee that the relay log info will be consistent, Error_code: 0
2016-11-18 22:48:03 12808 [Note] Slave SQL thread initialized, starting replication in log 'mysql-bin.018098' at position 920330293, relay log '/mnt/data/mysql/mysqld-relay-bin.318142' position: 473446279
2016-11-18 22:48:03 12808 [Note] Slave I/O thread: connected to master 'repl@xxx:3306',replication started in log 'mysql-bin.018103' at position 271452699
2016-11-18 22:48:03 12808 [Warning] Slave I/O: Notifying master by SET @master_binlog_checksum= @@global.binlog_checksum failed with error: Unknown system variable 'binlog_checksum', Error_code: 1193
2016-11-18 22:48:03 12808 [Warning] Slave I/O: Unknown system variable 'SERVER_UUID' on master. A probable cause is that the variable is not supported on the master (version: 5.5.42-log), even though it is on the slave (version: 5.6.31-log), Error_code: 1193
マスターバージョン:
Variable_name Value
----------------------- ------------------------------
innodb_version 5.5.42
protocol_version 10
slave_type_conversions
version 5.5.42-log
version_comment MySQL Community Server (GPL)
version_compile_machine x86_64
version_compile_os Linux
スレーブバージョン:
Variable_name Value
----------------------- ------------------------------
innodb_version 5.6.31
protocol_version 10
slave_type_conversions
version 5.6.31-log
version_comment MySQL Community Server (GPL)
version_compile_machine x86_64
version_compile_os Linux
よろしくお願いします!
スレーブでSHOW SLAVE STATUS\G
を実行し、Slave_IO_Running: Yes
が表示される場合、IOスレッドは問題ありません。
それにもかかわらず、警告に注意してください
2016-11-18 22:48:03 12808 [警告]スレーブSQL:クラッシュが発生した場合、この構成はリレーログ情報の一貫性を保証しません、Error_code:0
エラーコード0は、エラーではなく、単なる情報であることを意味します。
2016-11-18 22:48:03 12808 [警告]スレーブI/O:SET @ master_binlog_checksum = @@ global.binlog_checksumによるマスターへの通知がエラーで失敗しました:不明なシステム変数 'binlog_checksum'、Error_code:1193
エラーには変数binlog_checksum
が含まれるとのことですが、.
MySQL Documentation for binlog_checksum によると
このオプションを有効にすると、マスターはバイナリログに書き込まれたイベントのチェックサムを書き込みます。 NONEに設定して無効にするか、チェックサムの生成に使用するアルゴリズムの名前。現在、CRC32チェックサムのみがサポートされています。 MySQL 5.6.6以降、CRC32がデフォルトです。
このオプションはMySQL 5.6.2で追加されました。
マスターが5.5.42であるため、マスターをスレーブと比較するためのbinlog_checksum
はありません。警告は有効です。
スレーブでbinlog_checksumを「NONE」に設定すると、このチェックが無効になる可能性があります。
2016-11-18 22:48:03 12808 [警告]スレーブI/O:マスターの不明なシステム変数 'SERVER_UUID'。推定される原因は、変数がスレーブ(バージョン:5.6.31-log)にあるにもかかわらず、マスター(バージョン:5.5.42-log)でサポートされていないことです。Error_code:1193
これは同じ問題です。オプション server_uuid は、メッセージ自体が示すように、MySQL 5.5.42(マスター)には存在しません。
レプリケーションが実行されている限り、今のところ問題ありません。マスターをMySQL 5.6.31にできるだけ早く取得することを強くお勧めします。どうして ?
MySQL 5.6はDATETIME
にマイクロ秒を導入しました。マスター(5.5.42)がDATETIMEをスレーブ(5.6.31)に送信すると、IOスレッドはすぐに中断します。 2015-01-02
から投稿を読んでください私がこれに言及したところ 。
両方でDATETIME
レプリケーション(binlog_format
をSTATEMENT
に設定)に切り替えることで、このSTATEMENT
の混乱を回避できます Master(5.5) および スレーブ(5.6) 。