Windows Server 2008 R2を実行していて、誤って大きなクエリを実行しました。次に、サーバーはハードドライブの容量を使い果たしました。
現在、管理者ドキュメント(log.log)に18GBを超えるファイルがあります。ファイルが再び表示されるだけなので、ファイルを削除できないようです。助けて。
ログを削除すると、管理者権限がないと表示されます。 (私がやります)
MySQLは、Windowsの首の大きな痛みです。これは、開いているファイルの動作方法が原因です。
Linuxでは、ディスクがいっぱいになるログファイル(つまり、/ var/log/mysqld.log)を見るたびに、ファイルを切り捨てようとします
echo -n > /var/log/mysqld.log
Linuxとmysqldは問題ありません。一方、ウィンドウズはそうです。
デスクトップのMySQL 5.5.12でこれを実行しようとしました。つまり、エラーファイルをザッピングすると、次のメッセージが表示されました。
C:\>copy con C:\MySQL_5.5.12\data\LW-REDWARDS2.err
^Z
The process cannot access the file because it is being used by another process.
0 file(s) copied.
C:\>
タスクマネージャに移動して、mysqldプロセスを終了する必要があります。
次に、ファイルハンドルのロックが解除された状態で、ログファイルのザップを試行できます。
次に、mysqlを再起動します
C:\> net start mysql
MysqldがInnoDBクラッシュリカバリを実行する時間を確保する必要があります。
Mysqlエラーログにシャットダウン情報を書き込むには、ディスクスペースが必要です。一時テーブル(これは常にMyISAMです)を生成するmysql操作中は、常にディスク領域が必要です。一時テーブル用のディスクスペースがない場合はどうなりますか?
MySQL 5.0認定調査ガイドページ408,409のセクション29.2の箇条書き11 によると、
MyISAMテーブルに行を追加しているときにディスク領域が不足しても、エラーは発生しません。サーバーは、スペースが使用可能になるまで操作を中断し、操作を完了します。
利用可能なディスクスペースがない状態でmysqldの標準シャットダウンを試行すると、問題が複雑になります。プロセスを強制終了し、18Gログファイルを削除し、mysqlを再度起動して、InnoDBクラッシュリカバリを実行します。同じディスクの問題が原因で機能しないWindows環境で代替手段を探すよりはましです。