MySQLデータベースのバイナリログ

A、MySQLバイナリログ

1.1 MySQLバイナリログ

MySQLのバイナリログ(バイナリログ)は、レコードがすべてのイベントは、イベントへの追加と削除を含むデータベースの変更を、MySQLおよびイベント・テーブルの構造を変更することバイナリファイルです。これは、SELECT、SHOWおよびSQLデータを変更しない他の文を記録しません。バイナリログ(バイナリログ)と主にマスタコピーからデータベースの回復、および監査(監査)操作のために使用されます。

バイナリログ1.2のステータスを表示

1、バイナリログを開くかどうかを確認してください

  • 値がOFFされていないLog_binシステム変数は、バイナリログ(バイナリログ)を示しています。バイナリログ(バイナリログ)を開くための手段に
mysql> show variables like 'log_bin';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| log_bin       | ON    |
+---------------+-------+
1 row in set (0.00 sec)

2、現在のすべてのサーバーのバイナリログファイルを見ます

mysql> show binary logs;
+------------------+-----------+
| Log_name         | File_size |
+------------------+-----------+
| mysql-bin.000004 | 478421400 |
| mysql-bin.000005 |      9653 |
| mysql-bin.000006 | 340631484 |
+------------------+-----------+
3 rows in set (0.00 sec)
mysql> show master logs;

+------------------+-----------+
| Log_name         | File_size |
+------------------+-----------+
| mysql-bin.000004 | 478421400 |
| mysql-bin.000005 |      9653 |
| mysql-bin.000006 |  340631484 |
+------------------+-----------+
3 rows in set (0.00 sec)

3、バイナリファイルの現在のステータスを表示

ここに画像を挿入説明

オープンに1.3バイナリログ

その値は何のオープンバイナリログ(バイナリログ)が存在しないことを意味し、OFFであれば、log_binシステム変数を参照してください、必要がバイナリログを開く場合は、 [= DIR [ファイル名]以下のmy.cnfログビン追加[mysqldを]でDIRパラメータは、バイナリメモリへのパスを指定し、ファイル名パラメータ指定するファイルの名前は、二つを用意しました。ここで、ファイル名は任意でよいが、好ましくは、特定の仕様。
Log_binシステム変数は静的パラメータである(それは動的変数ではないので)、それは動的に変更することができません。

mysql> show variables like 'log_bin';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| log_bin       | OFF   |
+---------------+-------+
1 row in set (0.00 sec)
mysql> set global log_bin=mysql_bin;
ERROR 1238 (HY000): Variable 'log_bin' is a read only variable

1、変更のmy.cnf[mysqldが]追加log_bin = mysql_bin、再起動のMySQL以下、ONしlog_bin、デフォルトのデータディレクトリ上のバイナリログ(バイナリログ)(DATADIR可変のシステムの下で)

mysql> show variables like 'log_bin';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| log_bin       | ON    |
+---------------+-------+
1 row in set (0.00 sec)
mysql> show variables like 'datadir';
+---------------+-----------------+
| Variable_name | Value           |
+---------------+-----------------+
| datadir       | /var/lib/mysql/ |
+---------------+-----------------+
1 row in set (0.00 sec)
mysql> show variables like '%log_bin%';
+---------------------------------+------------------------------------+
| Variable_name                   | Value                              |
+---------------------------------+------------------------------------+
| log_bin                         | ON                                 |
| log_bin_basename                | /var/lib/mysql/mysql_bin_log       |
| log_bin_index                   | /var/lib/mysql/mysql_bin_log.index |
| log_bin_trust_function_creators | OFF                                |
| log_bin_use_v1_row_events       | OFF                                |
| sql_log_bin                     | ON                                 |
+---------------------------------+------------------------------------+
6 rows in set (0.00 sec)
mysql> 

2、そこだけのmy.cnf log_binで提供されていますが、、FILE_NAMEを指定し、データベースを再起動しない場合この形式-binバイナリログファイル名$ {ホスト名}。

mysql> show variables like '%log_bin%';
+---------------------------------+------------------------------------+
| Variable_name                   | Value                              |
+---------------------------------+------------------------------------+
| log_bin                         | ON                                 |
| log_bin_basename                | /var/lib/mysql/server1-bin       |
| log_bin_index                   | /var/lib/mysql/server1-bin.index |
| log_bin_trust_function_creators | OFF                                |
| log_bin_use_v1_row_events       | OFF                                |
| sql_log_bin                     | ON                                 |
+---------------------------------+------------------------------------+
6 rows in set (0.00 sec)
mysql> 

1.4バイナリログスイッチ

1、バイナリスイッチングコマンドは、フラッシュのログを記録します

mysql> flush logs;
Query OK, 0 rows affected (0.03 sec)

各再起動MySQLサービスは、バイナリログ・スイッチと同等のものを新しいバイナリログファイルを生成します。
バイナリログを切り替えるとき、あなたは数が増加していきます表示されます。また、これらのバイナリログファイルに加えて、あなたはまた、生成されたサーバー1-bin.indexファイルもバイナリファイルとして知られている店舗はすべてのバイナリログインデックスファイルリスト、それが表示されます。

1.5バイナリログを削除しました

1、あなたはログを削除する前に、すべてのバイナリログファイル:パージバイナリログへの「LOG_NAME」;このコマンドは、インデックス関連のデータを変更します。
2、バイナリログファイルの前の時点をクリア:パージバイナリは、「2017年3月10日午前10時10分00秒」の前にログに記録し、
バイナリログファイルに先立って3、クリア7日:パージマスターはDATE_SUB前に(今()をログに記録します、間隔7日);
4、主要な関係(現在は存在しない)からコピーされたすべてのバイナリログファイルをクリアする:RESETマスターを、
5、自動クリーンアップexpire_logs_daysアップセット**パラメータ、デフォルト値は0で、機能が有効になっていないと自動的に削除期限切れ**自動クリーニング機能が有効になっている場合は、バイナリログファイルを表すことはこの日数が自動的に通常自動的に削除作業を削除したMySQLのログやFLUSH時間を起動したときに発生します超えます。

mysql> show variables like 'expire_logs_days';

+------------------+-------+
| Variable_name    | Value |
+------------------+-------+
| expire_logs_days | 7     |
+------------------+-------+
1 row in set (0.00 sec)
mysql> 
公開された102元の記事 ウォン称賛21 ビュー5328

おすすめ

転載: blog.csdn.net/ranrancc_/article/details/103035035