MySQLで「ERROR 114 - Table Full」が表示されるのはなぜですか?

MySQLで「ERROR 114 - Table Full」が表示されるのはなぜですか?

31,107,600行のMySQLデータベーステーブルがあります。 InnoDBを使用してください。これはCentOS 7システムにあります。

テーブルには次の列が含まれています。

  • ID
  • タイムスタンプ
  • りんご
  • データ
  • 方向
  • サイトID

インデックスを作成したいので、次のコマンドを実行します。

ALTER TABLE MY_TABLE ADD INDEX idx_my_index (mac, site_id, timestamp);

約30秒かかり、以下を提供します。

ERROR 1114 (HY000): The table 'MY_TABLE' is full

私のMySQLはデフォルトを使用して/var/lib/mysqlデータを保存します。現在、フォルダがあるパーティションの空き容量は12 GBで、データベースサイズは2.7 GBにすぎないため、私が理解しているように、十分なスペースが必要です。

このエラーが表示されるのはなぜですか?オンラインで確認した結果、一時テーブルを使用して一時テーブルのサイズ制限に達した可能性があります。そうなるでしょうか?それとも別のものですか?これをどのように確認しますか?

答え1

ALTER TABLE ステートメントの実行中に df を使用して、すべてのファイルシステムのスペース使用量を観察します。 tmpfsの/ tmpのように、他のファイルシステム(特に小さなファイルシステム)のスペースが急激に減少していることを確認してください。

関連情報