レプリケーション設定に取り組んでおり、bin-logsをオンにしました。 mysql datadirを新しい場所とbinlogパスに移動しました
My.cnfから
datadir = /vol/data/mysql
log-bin=/vol/data/mysql/mysql-bin
binlog_format=mixed
Mysqldを起動してステータスを確認すると、次のようになります。
mysql> show master status;
+------------------+----------+--------------+------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.000315 | 106 | | |
+------------------+----------+--------------+------------------+
/ vol/data/mysqlの内容を確認すると、多くのbinログが表示されますが、具体的には、このファイルが作成されたばかりであることがわかります。
mysql-bin.000313
mysql-bin.000314
mysql-bin.000315
mysql-bin.index
インデックスファイルをテールする場合:
$ Sudo tail mysql-bin.index
/vol/data/mysql/mysql-bin.000313
/vol/data/mysql/mysql-bin.000314
/vol/data/mysql/mysql-bin.000315
Mysqlでは、バイナリログはまったくありません。
mysql> SHOW BINARY LOGS;
Empty set (0.00 sec)
これは、mysqlでバイナリログをパージしても影響がないことを意味します。私はディレクトリとファイルのパーミッションを確認しましたが、すべてmysqlのユーザーとグループに属しています。 mysqlがこれらのバイナリログを表示またはパージできないのはなぜですか?
mysql> PURGE BINARY LOGS BEFORE NOW();
ERROR 1373 (HY000): Target log not found in binlog index
あなたは少し変わったものを試す必要があるかもしれません
service mysql stop
開いた mysql-bin.index
in vi
内容をこれに変更
./mysql-bin.000313
./mysql-bin.000314
./mysql-bin.000315
保存する mysql-bin.index
service mysql start
MySQLにログインして実行
SHOW BINARY LOGS;
SHOW MASTER STATUS;
このスタントは私にとって数回働きました。