ERROR 1114 (HY000): The table 'test1' is full 的解決
今天執行sql碰到 1114的錯誤,如下:
mysql> insert into test1 select * from test;
Query OK, 1778 rows affected (0.06 sec)
Records: 1778 Duplicates: 0 Warnings: 0
mysql> insert into test1 select * from test;
ERROR 1114 (HY000): The table 'test1' is full
檢視官方的文件,並沒有答案,裡面說到作業系統檔案的限制引起了這個錯誤,可以理解,作業系統單個檔案大小最大是2G,那麼採用innodb_file_per_table=on 時,會把一個表資料建立在一個檔案中,那麼這個表資料的大小隻能是2G了。
http://dev.mysql.com/doc/refman/5.7/en/full-table.html
問題是我的表沒有2G:
mysql> select * from information_schema.tables where table_name='test' \G
*************************** 1. row ***************************
TABLE_CATALOG: def
TABLE_SCHEMA: test
TABLE_NAME: test
TABLE_TYPE: BASE TABLE
ENGINE: MEMORY
VERSION: 10
ROW_FORMAT: Fixed
TABLE_ROWS: 1778
AVG_ROW_LENGTH: 9440
DATA_LENGTH: 16855944
MAX_DATA_LENGTH: 16765440
INDEX_LENGTH: 0
DATA_FREE: 0
AUTO_INCREMENT: NULL
CREATE_TIME: 2016-09-19 13:45:37
UPDATE_TIME: NULL
CHECK_TIME: NULL
TABLE_COLLATION: utf8_general_ci
CHECKSUM: NULL
CREATE_OPTIONS:
TABLE_COMMENT:
1 row in set (0.00 sec)
大約16M, 另一個有用的資訊是這個表的儲存引擎是 MEMORY.
這個是由於 create table test like information_schema.tables, create table test1 like test; 而information_schema.tables是tables表是memory儲存引擎所致。
而 memory 的大小受到 'max_heap_table_size' 引數影響
mysql> show variables like 'max_heap_table_size';
+---------------------+----------+
| Variable_name | Value |
+---------------------+----------+
| max_heap_table_size | 16777216 |
+---------------------+----------+
修改此引數大小驗證一下:
set max_heap_table_size=167772160
還是報錯。
根據網上的資料,修改my.cnf檔案,然後重新啟動:
tmp_table_size = 256M
max_heap_table_size = 256M
再次執行就可以了
mysql> insert into test2 select * from test2;
Query OK, 9216 rows affected (1.22 sec)
Records: 9216 Duplicates: 0 Warnings: 0
此時表的最大長度也變為 256M了。
mysql> select * from information_schema.tables where table_name='test2' \G
*************************** 1. row ***************************
TABLE_CATALOG: def
TABLE_SCHEMA: test
TABLE_NAME: test2
TABLE_TYPE: BASE TABLE
ENGINE: MEMORY
VERSION: 10
ROW_FORMAT: Fixed
TABLE_ROWS: 18432
AVG_ROW_LENGTH: 9440
DATA_LENGTH: 174807384
MAX_DATA_LENGTH: 268313120
INDEX_LENGTH: 0
DATA_FREE: 0
AUTO_INCREMENT: NULL
CREATE_TIME: 2016-09-19 14:37:29
UPDATE_TIME: NULL
CHECK_TIME: NULL
TABLE_COLLATION: utf8_general_ci
CHECKSUM: NULL
CREATE_OPTIONS:
TABLE_COMMENT:
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/674865/viewspace-2125150/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- ERROR 1114 (HY000) The table '' is fullError
- ERROR 1290 (HY000) 解決辦法Error
- 解決ERROR 1030 (HY000): Got error 168 from storage engine apparmorErrorGoAPP
- ERROR 1786 (HY000): Statement violates GTID consistency: CREATE TABLE ... SELECTError
- ERROR 2026 (HY000): SSL connection error: unknown error numberError
- Error!: SQLSTATE[HY000] [2002] Connection refusedErrorSQL
- ERROR 1290 (HY000): The MySQL server is running withErrorMySqlServer
- test1
- MySQL 8.0.25 Bug 報"MY-013132 The table ...is full"MySql
- Mysql連線錯誤ERROR 2003 (HY000)MySqlError
- 【MySQL】ERROR 1878 (HY000): Temporary file write failure.MySqlErrorAI
- 【TUNE_ORACLE】列出走了TABLE ACCESS FULL的SQL參考OracleSQL
- 帝國CMS提示parse error syntax error的解決方法Error
- laravel 解決 mysql only_full_group_by 問題LaravelMySql
- Win10系統下提示LoadLibrary失敗且錯誤1114的解決方法Win10
- 解決 "Script Error" 的另類思路Error
- ERROR 2013 (HY000): Lost connection to MySQL server at 'reading authorization paErrorMySqlServer
- mysql錯誤詳解(1819):ERROR 1819 (HY000): Your password does not satisfy the current policy requirementsMySqlErrorUIREM
- python -- 解決字典【KEY ERROR】PythonError
- 【已解決】Error filter ListenerStartErrorFilter
- Error creating bean with name 解決ErrorBean
- mysql 5.6.25報錯ERROR 1372 (HY000): Password hash 的一點思考MySqlError
- [20221227]a mutating table error without a trigger!.txtError
- mysql 禁用 ONLY_FULL_GROUP_BY,暫時解決錯誤(sql_mode=only_full_group_by)MySql
- Vue 下 ESLint 的 error 解決辦法VueEsLintError
- ArchLinux出現ACPI ERROR的解決方法LinuxError
- fdisk時WARNING: Re-reading the partition table failed with error 16: 裝置或資源忙 的問題解決方案AIError
- 阿里雲mysql遠端登入報ERROR 2027(HY000)阿里MySqlError
- MySQL 報錯 ERROR 1290 (HY000): running with the --secure-file-privMySqlError
- ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables optErrorMySqlServer
- SQLSTATE[HY000]: General error: 1615 Prepared statement needs to be re-preparedSQLError
- 1114模擬賽
- MySQL DDL Waiting for table metadata lock 解決MySqlAI
- 解決IDEA Error:Output directory is not specifiedIdeaError
- Dynamics CRM CRM Reporting Error: Error occurred while fetching the data extension的解決方法ErrorWhile
- ORA-31633: unable to create master table "SYSTEM.SYS_EXPORT_FULL_XX"ASTExport
- Error: error:0308010C:digital envelope routines::unsupported 解決方案ErrorGit
- HBuilder解決:Error: error:0308010C:digital envelope routines::unsupportedUIErrorGit
- 解決 eslint 的 Parsing error: Unexpected token 錯誤EsLintError