私はマスターとしてPerconaMySQL 5.5.30を持っています(Debian6.0.7)。すべてのバイナリログが.cnfファイルで指定された形式ではなくOFF.00 *形式で保存され始めるという奇妙な問題が発生しました。
mysql>バイナリログを表示; + ------------ + ------------ + | Log_name | File_size | + ------------ + ------------ + | OFF.000084 | 1073744171 | | OFF.000085 | 1073741909 | | OFF.000086 | 1073742904 | | OFF.000087 | 1073745627 | | OFF.000088 | 1073742910 | | OFF.000089 | 1073742081 | | OFF.000090 | 1075694984 | mysql> show variable like "%log_bin%"; + --------------------- ------------ + ------- + | Variable_name |値| + --------------------------------- + ------- + | log_bin |オン| | log_bin_trust_function_creators |オフ| | sql_log_bin |オン| + --------------------------------- + ------- + bash-4.1#grep log-bin /etc/mysql/conf.d/mycustom.cnf log-bin =/var/log/mysql/acct-db1- bin.log
MySQLサービスを再起動したり、何もしていませんが、バイナリログの形式がどのように変更されたのか疑問に思っています。
このマスターに新しいスレーブをセットアップしましたが、レプリケーションに問題はありません。しかし、それが将来問題を引き起こすかどうかを考えています。
私はあなたの問題を見たことがあります
/etc/mysql/conf.d/mycustom.cnf
があり、log-bin
行が読み取られていません
/etc/mysql/conf.d/my.cnf
が存在し、次の行がある可能性があります
[mysqld]
log-bin=OFF
そのため、binlogはOFF
のファイル名で始まります。
log-bin=OFF
がbinloggingを無効にしていると感じる人もいます。 log-bin
のMySQLドキュメントには、許可される値はファイル名であると記載されています。したがって、ブール値ではありません。行を削除するかコメントアウトするだけで、binloggingが無効になります。
を使用してmysqldを手動で開始することをお勧めします
service mysql stop
mysqld --defaults-file="/etc/mysql/conf.d/mycustom.cnf"
log-bin
の/etc/mysql/conf.d/my.cnf
を変更するだけです
次にservice mysql restart
まだmysqlを再起動しないでください。この問題はマスターの1つです。
ステップ01:マスターへのすべての書き込みを停止します
ステップ02:スレーブに移動し、STOP SLAVE;
を実行します
ステップ03:マスターでmysqlを再起動します
ステップ04:スレーブで、これを実行します
CHANGE MASTER TO master_log_file='acct-db1-bin.000001',master_log_pos = 4;
START SLAVE;
ステップ05:マスターへのすべての書き込みを開始します
これでメンテナンスが完了します