web-dev-qa-db-ja.com

これらのファイルは何ですか、手動で削除できますか?

[root@jiaoyou mysql]# pwd
/var/lib/mysql
[root@jiaoyou mysql]# ls -ls
338256 -rw-rw---- 1 mysql mysql 346030080 2010-04-22 08:08 ibdata1
626812 -rw-rw---- 1 mysql mysql 641222072 2010-01-26 07:17 mysql-bin.000008
316892 -rw-rw---- 1 mysql mysql 324173772 2010-03-25 12:51 mysql-bin.000009
52724 -rw-rw---- 1 mysql mysql  53931666 2010-04-12 12:13 mysql-bin.000010
10136 -rw-rw---- 1 mysql mysql  10359639 2010-04-22 08:32 mysql-bin.000011

mysql> SHOW BINARY LOGS; 
+------------------+-----------+
| Log_name         | File_size |
+------------------+-----------+
| mysql-bin.000008 | 641222072 | 
| mysql-bin.000009 | 324173772 | 
| mysql-bin.000010 |  53931666 | 
| mysql-bin.000011 |  10360680 | 
+------------------+-----------+

これらのファイルibdata1mysql-bin.000008およびmysql-bin.000009 ...スペースを使いすぎています。手動で削除しても大丈夫ですか?

[〜#〜] update [〜#〜] MySQLのマスター/スレーブを利用していません。すべてのバイナリファイルを削除して無効にする方法は?

11
apache

これらはmysql binログです。それらをrmで削除すると、サーバーは深刻な苛立ちを感じる可能性があります。

代わりに、PURGE BINARY LOGS TO 'mysql-bin.010'; root mysqlユーザーとして、ファイルを安全に削除します。

詳細については、ドキュメントの here を参照してください。

9
Tom O'Connor

これらは、mysqlサービスのログファイルです。 /etc/my.cnfファイルを更新して設定をカスタマイズできます

彼らがあなたのディスクスペースを使い果たしているなら、あなたが保持したい日数に基づいてログを自動消去する設定を追加します

たとえば以下の設定では、90日より古いすべてのログが削除されます

**expire_logs_days=100**

この設定を反映するには、mysqlサービスを再起動する必要があります

/etc/init.d/mysql restart

お役に立てれば

5
Sanjay Bharwani

mysql-binファイルはバイナリログであり、通常はトランザクション履歴とレプリケーションの両方の目的で使用されます。バイナリログを無効にするには、cnfのlog-bin*行をコメント化します。有効になっている場合は、log-slave-updatesもコメント化する必要があります。

ibdata*ファイルは、innodb_data_file_path設定で指定されるInnoDBのテーブルスペースの一部です。 InnoDBテーブルがない場合を除いて削除することはお勧めしません。最初にcnfでskip-innodbを使用してInnoDBを無効にします。

4
Warner

ロギングを完全に無効にするには、設定ファイル(通常は/etc/my.cnf)のlog-bin値をコメント化する必要があります。

#log-bin = /var/log/mysql/mysql-bin.log

Ibdata1ファイルには実際のデータベースが含まれている可能性があると思いますが、私はinnodbを使用していないのでわかりません。したがって、そのデータベースを削除することはお勧めしません。ただし、「PURGE BINARY LOGS TO ...」コマンドはバイナリログを削除します。

0
malonso