MySQL5.1にて、InnoDBをストレージエンジンに指定しています。

Ibdata1というファイルが30GBの容量に肥大してしまい、容量を食っているテーブルを削除して3GB程度まで減らしたのですが、Ibdata1の容量は変わらずです。
Ibdata1の容量を実際に食っているサイズまで減らす方法を教えてください。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:
  • 終了:2009/09/28 18:05:02
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答1件)

id:Iwa No.1

回答回数120ベストアンサー獲得回数6

ポイント60pt

InnoDBを1つのファイルで全てのテーブルを賄わせている場合、足りないと拡張されますが一度増えた分は何をやっても減りません。

対策としては、dumpしてバックパップ後、ibdataを削除して作り直すことになります。

が、それだと面倒なので、下記参考URLのように1テーブル1ファイル形式(innodb_file_per_table)に変更する方法をお勧めします。

ただ、これはInnoDBを使い始める前に設定しておく必要があるのが面倒なところですが・・・。

http://cl.pocari.org/2006-07-07-2.html

http://oss.timedia.co.jp/show/MySQL%E6%97%A5%E6%9C%AC%E8%AA%9E%E...

http://www.mysql.gr.jp/mysqlml/mysql/msg/11368

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません