レプリケーションで Slave_IO_Running: No になった原因について

昨日MySQLレプリケーション設定をして今日ステータス確認してみたら、Slave_IO_Running: Noでレプリケーションが止まっていた。エラーログには下記のように出ており、どうやらmax_allowed_packetの値が小さかったらしい。

max_allowed_packet=16Mに設定

130606  9:03:02 [ERROR] Error reading packet from server: Got packet bigger than 'max_allowed_packet' bytes ( server_errno=2020)
130606  9:03:02 [ERROR] Log entry on master is longer than max_allowed_packet (1049241) on slave. If the entry is correct, restart the server with a higher value of max_allowed_packet
130606  9:03:02 [Note] Slave I/O thread exiting, read up to log 'mysql-bin.000084', position 58622911
130606 10:44:02 [Note] Error reading relay log event: slave SQL thread was killed


下記エラーについては、
innodb_buffer_pool_size
innodb_log_file_size
の値を大きくする必要があるようだけどMySQLを停止しないといけないのでいずれやりたい。

InnoDB: ERROR: the age of the last checkpoint is 9433953,
InnoDB: which exceeds the log group capacity 9433498.
InnoDB: If you are using big BLOB or TEXT rows, you must set the
InnoDB: combined size of log files at least 10 times bigger than the
InnoDB: largest such row.


下記ワーニングについては、
relay-log=mysqld-relay-bin
relay-log-index=mysqld-relay-bin
をmy.cnfに追記してやる必要がありそう

[Warning] Neither --relay-log nor --relay-log-index were used; so replication may break when this MySQL server acts as a slave and has his hostname changed!! Please use '--relay-log=mysqld-relay-bin' to avoid this problem.


下記ワーニングについては、
レプリケーション関連の設定はmy.cnfに記述するべきじゃないらしい

[Warning] The syntax for replication startup options is deprecated and will be removed in MySQL 5.2. Please use 'CHANGE MASTER' instead.