あなたは、MySQLのmy.cnfファイルを通じてmysqlのログを設定することができます。ログファイルがクリーンまたは長期的な回復場合ではない、それによってMySQLの性能に影響を与え、ログファイルの増加を引き起こすことがバインドされています。機能として実現することができますソースパッケージを装着することで、ポーリングモードリフレッシュmysqlのログが付属してrpmパッケージを利用しています。この機能の実装を完了するために、スクリプトを変更することはflushコマンドとMySQLで構築することです。(もちろん、バイナリログファイルを除いて、システムがexpire_logs_daysとmax-binlogのサイズのパラメータが付属して設定され、他のバックアップ戦略が存在する場合、このモードを使用することはお勧めしません、重要なデータ復旧システムのバイナリファイルは、設定されているため、本実施形態は、ポーリングに使用されてもよいです)
フラッシュ、次のように使用方法のコマンドは次のとおりです。
MySQLの>ヘルプフラッシュ。
名前: 'FLUSH'
説明:
構文:
FLUSH [NO_WRITE_TO_BINLOG | 地元]
flush_optionに[、flush_optionに] ...
............
RESETステートメントはFLUSHと似ています。以下のために、[ヘルプRESET]を参照してください。
レプリケーションでRESETステートメントを使用しての情報。
URL: http://dev.mysql.com/doc/refman/5.5/en/flush.html
上記の文書からのMySQLの使用に関連するヘルプ・フラッシュコマンドやログに英語で表示することができます。
- BINARYは バイナリログファイルを閉じて、再度開きます。
- エンジンが 取り付けられているストレージエンジンのいずれかのフラッシュ可能なログを閉じ、再オープンします。現在、これは原因 InnoDBが ディスクにそのログをフラッシュし、チェックポイントを実行します。
- ERRORは 閉じて、エラーログファイルを再び開きます。
- GENERALは、 一般クエリログファイルを閉じ、再度開きます。
- リレーは リレーログファイルを閉じて、再度開きます。
- SLOW 閉じ、スロークエリログファイルを再び開きます。
LOG_TYPEの オプションは、MySQL 5.5.3で追加されました。
他の分野でのフラッシュの使用については、私は今、既製のオンラインを取るために直接変換し、直接他の人にしたくありません!次のとおりです。
MySQLのFLUSH構文(内部キャッシュを削除するか、リロード)FLUSHのflush_optionに[、flush_optionに]、あなたは内部キャッシュMySQLの用途のいくつかをクリアしたい場合は、あなたがFLUSHコマンドを使用する必要があります。FLUSHを実行するには、リロード権限を持っている必要があります。
flush_optionには、以下のもののいずれであってもよいです。
HOSTSのこの使用まで、頻繁に会いました。主にホストキャッシュテーブルをクリアするために使用。あなたのホストのいくつかは、IP番号を変更したり、エラーメッセージホストを取得する場合... isblocked場合は、ホストテーブルを空にする必要があります。MySQLの接続は、てmax_connect_errorsエラーが連続して発生よりも、特定のホストを持っている場合は、安全のためのMySQLは、ホストへのさらなる接続要求の必要性を防ぐことができます。空のホストテーブルホスト試みが再び接続することができます。
LOGSは、現在のバイナリログファイルを閉じ、新しいファイル、新しいバイナリログファイル名に加えて、バイナリファイル内の現在の番号1を作成します。
PRIVILEGES再エンパワーメントは、念のため、新しい権限をすぐに有効にすることを、キャッシュへのデータベース権限からリロード権限テーブルに一般的な、頭を実行するたびに、これは多くの場合、使用されています。
操作は、クエリキャッシュをクリアする一方TABLESは、開いているすべてのテーブルを閉じます。
READ LOCK WITH FLUSH TABLESは、開いているすべてのテーブルを閉じ、データベース内のテーブルは読み取りロックに追加されたすべてのために、ロック解除のテーブルが実行されるまで、操作は多くの場合、ときにデータのバックアップに使用されて表示されます。
0に最もステータスリセット状態変数。
MASTERすべてのバイナリログインデックスファイルのバイナリログファイルを削除して、インデックスファイルのバイナリログファイルをリセットするには、新しいバイナリログファイルを作成し、空であるが、これはリセットマスターに、廃止されました。彼の土壌は、マルチああ、簡単なコマンドを処理することができなかったされる前に、想像してみて、来て、いくつかのコマンドがあり、以前のアプローチは、現在のバイナリログファイル名のうち最初のチェック、その後、パージ操作にあります。
QUERY CACHEクエリキャッシュ、削除の破片を改革し、パフォーマンスを向上させますが、クエリキャッシュ内の既存のデータには影響を与えません、これとフラッシュテーブルをし、(クエリキャッシュをクリアします)クエリキャッシュをリセットすることは同じではありません。
コピーをリセットし、データベースからマスターデータベースの場所をコピーするのを忘れてみましょう、だけでなく、ダウンロードしたリレーログを削除することと同様のSLAVE、そしてマスターは、リセットとして奴隷に、廃止されました。また、これは非常に便利です。
バイナリログファイルに記録されている場合は、上記の操作は、それがデータベースの原因となりますので、一般的には、フラッシュ操作は、バイナリログファイルに記録されますが、FLUSHログ、FLUSHのMASTER、FLUSH SLAVE、READ LOCK WITH FLUSHテーブルが記録されませんインパクト。注:リセット操作は、実際にフラッシュを再生しているが、動作役割の強化版です。
ファイルディレクトリにMySQLソースパッケージ--mysql-log-rotate.shサポート・ファイルを置かバンドからのログのポーリングスクリプト。
次のように具体的な動作は、(クエリが一例を記録します)。
まずquery_log.logファイルMV
[ルート@ localhostのログ]#LL
合計32
-rw-RW ---- 1 mysqlのmysqlの1 3月12日14:28 mysql.err
-rw-RW ---- 1のMySQLのMySQL 6 3月5日夜3時44分mysql.pid
-rw-RW ---- 1 mysqlのmysqlの1015年3月12日午後3時32分query_log.log
-rw-RW ---- 1のMySQLのMySQL 704 3月5日午後03時44 slow.log
[ルート@ localhostのログ]#mvのquery_log.log query_log.log.1
着陸mysqlコマンド・インターフェースの下で、次の操作を行います
MySQLの>フラッシュ一般的なログ。
クエリOK、影響を受けた0行(0.06秒)
注:このステップでは、それは私が間違って前に必ずフラッシュ一般的な操作を行い、簡単な間違いであり、私は後で公式ドキュメントを読んだ後、唯一の後ろに少数のログを見つけることが、重要なポイントです。
次のログファイルを見てください
[ルート@ localhostのログ]#LL
合計40
-rw-RW ---- 1 mysqlのmysqlの1 3月12日14:28 mysql.err
-rw-RW ---- 1のMySQLのMySQL 6 3月5日夜3時44分mysql.pid
-rw-RW ---- 1 mysqlのmysqlの176 3月12日夜三時38 query_log.log
-rw-RW ---- 1 mysqlのmysqlの1285年3月12日15時38分query_log.log.1
-rw-RW ---- 1のMySQLのMySQL 704 3月5日午後03時44 slow.log
[ルート@ localhostのログ]#猫のquery_log.log
/ usr / local / mysqlの/ binに/ mysqldを、バージョン:5.5.21-ログ(ソース配布)。を開始しました:
TCPポート:3306 Unixソケット:/tmp/mysqld.sock
タイムIDコマンド引数
ポーリングスクリプトと注意を払うの使用について:
/data/mysql/mysqld.log {
#600 MySQLのMySQLを作成します
notifempty
日々
回転3
missingok
圧縮
postrotate
#mysqldが実際に実行されているだけの場合
テスト-xは/ usr / local / mysqlの/ binに/ mysqladminの場合は&&
/ usr / local / mysqlの/ binに/ mysqladminはpingを&>を/ dev / null
それから
/ usr / local / mysqlの/ binに/ mysqladminのフラッシュ、ログ
されます
endscript
}
上記のスクリプトでの第二は、あるため、パスワードの使用への直接支援のため、パスワード後進を文句を言うでしょう。具体的に:
/ usr / local / mysqlの/ binに/ mysqladminの-uroot-PTESTのping(ユーザー名はrootである場合には、テスト用パスワード)
/ usr / local / mysqlの/ binに/ mysqlの-uroot -ptest -e "フラッシュ一般的なログ"
ライン上/etc/logrotate.dディレクトリにスクリプトを設定した後。