MySQLの実行中にMySQLの低速クエリログを切り捨てる最も安全な方法は何ですか(主にLinuxで、ただしWindowsは知っておくと便利です)。
安全とは:
- 権限の問題を引き起こしてはなりません
- 次回に追加されたときに元のサイズに戻ってはいけません
実行中のアプリケーションによって開かれているかどうかに関係なくファイルを切り捨てるには、次のようにします。
> /var/logs/your.log
シェルプロンプトで。
ここから:
開いているファイルを移動してから、mysqld にログをフラッシュするように指示すると、新しいログが開きます。
shell> cd mysql-data-directory
shell> mv mysql.log mysql.old
shell> mv mysql-slow.log mysql-slow.old
shell> mysqladmin flush-logs
これが継続的な懸念事項である場合は、logrotateを調べてください。これを行うことができます。
echo > file.log
それは理にかなっていますが、私は知りませんでした。いつも使っていcat /dev/null > file.log
ます。
また、書き込み中のログ ファイルを削除しないことが非常に重要であることに注意してください。ログ ファイルを開いているプログラムは引き続きファイルに書き込みを行うからです。ハードドライブの容量がすべてなくなった理由を理解するのは非常に困難です!