FOREIGN_KEY_CHECKS
、SQL_MODE
、UNIQUE_CHECKS
、SQL_AUTO_IS_NULL
の変数はすべて複製可能です。これは MySQL 5.0
以来、実現しました。storage_engine
システム変数 (table_type
) は、MySQL
5.1ではまだ複製できませんが、異なるストレージ
エンジン間での複製には適しています。
更新対象のテーブルのステートメントで使用する場合には、セッション変数を正確に複製することはできません。たとえば、INSERT
INTO mytable VALUES(@@MAX_JOIN_SIZE)
に続く
SET MAX_JOIN_SIZE=1000
の場合は、マスタとスレーブに同一のデータを挿入できません。これは、INSERT
INTO mytable
VALUES(CONVERT_TZ(...,...,@@time_zone))
に続く
SET TIME_ZONE=...
という一般的なシーケンスの場合には、この限りではありません。
セッション変数のレプリケーションは、行ベースのレプリケーションを使用している場合には干渉しません。詳細は 項5.1.2. 「レプリケーション フォーマット」 を参照してください。