|
|
|
ERROR 1114 (HY000): The table 'table2' is full - почему?
|
|||
|---|---|---|---|
|
#18+
Сервер 5.7.11 на Windows 2003. InnoDB, innodb_file_per_table. Свободного места (NTFS) - ну просто завались. Есть БД по имени db. В ней - таблица db.table1 на 19 гБайт. Нужно создать таблицу-копию table2 в БД test. Выполняем Код: sql 1. В ответ получаем ERROR 1114 (HY000): The table 'table2' is full Если же выполнить Код: sql 1. 2. то всё проходит нормально. WTF? Чего нехватает для прямого копирования? manualInnoDB reports this error when the system tablespace runs out of free space. Reconfigure the system tablespace to add a new data file.ничего к пониманию не добавляет - ибо innodb_file_per_table, под новую таблицу создаётся и новый tablespace. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.04.2016, 16:56 |
|
||
|
ERROR 1114 (HY000): The table 'table2' is full - почему?
|
|||
|---|---|---|---|
|
#18+
Akina, да просто баг скорее всего. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.04.2016, 11:28 |
|
||
|
ERROR 1114 (HY000): The table 'table2' is full - почему?
|
|||
|---|---|---|---|
|
#18+
Akina, а основные файлы innodb заморожены или там autoextend ? какое значение у настройки innodb_data_file_path ? ну мало ли зачем им надо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.04.2016, 15:20 |
|
||
|
ERROR 1114 (HY000): The table 'table2' is full - почему?
|
|||
|---|---|---|---|
|
#18+
netwindосновные файлы innodb заморожены или там autoextend ? innodb_autoextend_increment=64 netwindкакое значение у настройки innodb_data_file_path ? innodb_data_home_dir= innodb_data_file_path=ibdata1:64M:autoextend innodb_file_per_table=1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.04.2016, 08:57 |
|
||
|
ERROR 1114 (HY000): The table 'table2' is full - почему?
|
|||
|---|---|---|---|
|
#18+
Akina, значит я тоже склоняюсь к тому, что это баг. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.04.2016, 11:11 |
|
||
|
ERROR 1114 (HY000): The table 'table2' is full - почему?
|
|||
|---|---|---|---|
|
#18+
Akinainnodb_file_per_table=1Это было установлено до того, как была создана таблица db.table1 ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.04.2016, 11:16 |
|
||
|
ERROR 1114 (HY000): The table 'table2' is full - почему?
|
|||
|---|---|---|---|
|
#18+
miksoftЭто было установлено до того, как была создана таблица db.table1 ?Угу... сервер же перестартовывался после корректировки my.ini - как иначе? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.04.2016, 11:19 |
|
||
|
ERROR 1114 (HY000): The table 'table2' is full - почему?
|
|||
|---|---|---|---|
|
#18+
AkinamiksoftЭто было установлено до того, как была создана таблица db.table1 ?Угу... сервер же перестартовывался после корректировки my.ini - как иначе?Дело не в рестарте сервера, а в моменте создания таблицы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.04.2016, 11:21 |
|
||
|
ERROR 1114 (HY000): The table 'table2' is full - почему?
|
|||
|---|---|---|---|
|
#18+
Тоже после. Даже БД создавалась позже внесения изменений - собсно указанные параметры устанавливались при инсталляции. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.04.2016, 13:45 |
|
||
|
ERROR 1114 (HY000): The table 'table2' is full - почему?
|
|||
|---|---|---|---|
|
#18+
ну просторы интернета глаголят о том, что недостаточно места в темповой директории (система не может создать буфферный файл???) необходимо создать отдельную директорию и указать в my.ini tmpdir = кстати будет сразу видно все мусорные файлы MySQL-я ну и datadir = вынести бы с диска С: как и tmpdir если она еще там (в месте установки по дефолту MySQL) это только логические размышления предположу что в первом случае AS SELECT - сервер работает через темповый файл, во втором - очевидно "напрямую" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.04.2016, 00:55 |
|
||
|
ERROR 1114 (HY000): The table 'table2' is full - почему?
|
|||
|---|---|---|---|
|
#18+
нашел интересную картинку о содержимом ibdata1 если установлен параметр innodb_file_per_table=1, сам когда то интересовался, что же там хранится ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.04.2016, 01:24 |
|
||
|
ERROR 1114 (HY000): The table 'table2' is full - почему?
|
|||
|---|---|---|---|
|
#18+
Alex_Ustinovпросторы интернета глаголят о том, что недостаточно места в темповой директории Как грязи. Alex_Ustinovнеобходимо создать отдельную директорию и указать в my.ini tmpdir = Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. Alex_Ustinovdatadir = вынести бы с диска С: как и tmpdir если она еще там (в месте установки по дефолту MySQL) Для выделенного девелоперского MySQL-сервера это не имеет смысла. Бенчмарки на нём не меряются... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2016, 09:15 |
|
||
|
ERROR 1114 (HY000): The table 'table2' is full - почему?
|
|||
|---|---|---|---|
|
#18+
Akina, А какие-нибудь другие запросы, гарантированно требующие создание временного файла, работают? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2016, 09:45 |
|
||
|
ERROR 1114 (HY000): The table 'table2' is full - почему?
|
|||
|---|---|---|---|
|
#18+
miksoftдругие запросы, гарантированно требующие создание временного файла, работают? Таблица размером 6 Гбайт аналогичным запросом скопировалась без проблем. Провёл, кстати, процесс и в режиме однопользовательского доступа. tmpdir не используется, процесс идёт чисто в папке БД. Что забавно - итоговая таблица получается процентов на 15 больше по размеру, чем исходная. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2016, 10:08 |
|
||
|
ERROR 1114 (HY000): The table 'table2' is full - почему?
|
|||
|---|---|---|---|
|
#18+
AkinaТаблица размером 6 Гбайт аналогичным запросом скопировалась без проблем.Т.е. проблема только с одной исходной таблицей? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2016, 10:49 |
|
||
|
ERROR 1114 (HY000): The table 'table2' is full - почему?
|
|||
|---|---|---|---|
|
#18+
Это единственная в исходной БД большая таблица. Таблица проверена, no problems. Если брать часть (попробовал 10кк записей, это 2.2 Гбайт) - нормально копируется. Запустил 50кк записей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2016, 12:22 |
|
||
|
ERROR 1114 (HY000): The table 'table2' is full - почему?
|
|||
|---|---|---|---|
|
#18+
miksoft , в общем, ситуация вроде определилась. Копирование идёт нормально, если итоговый файл не превысит 4 Гбайт. Если больше - то вышеуказанная ошибка. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2016, 13:15 |
|
||
|
ERROR 1114 (HY000): The table 'table2' is full - почему?
|
|||
|---|---|---|---|
|
#18+
AkinaКопирование идёт нормально, если итоговый файл не превысит 4 Гбайт. Если больше - то вышеуказанная ошибка.Тогда больше всего на баг похоже. Например, где-то воткнули 32-разрядный int вместо 64-разрядного. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2016, 13:18 |
|
||
|
ERROR 1114 (HY000): The table 'table2' is full - почему?
|
|||
|---|---|---|---|
|
#18+
Кстати, internal_tmp_disk_storage_engine какое значение имеет? Если переключить на MYISAM, то проблема воспроизводится? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2016, 13:26 |
|
||
|
ERROR 1114 (HY000): The table 'table2' is full - почему?
|
|||
|---|---|---|---|
|
#18+
Akina, tmp_table_size, случаем, не ограничен на уровне 4 Гбайт ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2016, 13:28 |
|
||
|
ERROR 1114 (HY000): The table 'table2' is full - почему?
|
|||
|---|---|---|---|
|
#18+
miksoftAkinaКопирование идёт нормально, если итоговый файл не превысит 4 Гбайт. Если больше - то вышеуказанная ошибка.Тогда больше всего на баг похоже. Например, где-то воткнули 32-разрядный int вместо 64-разрядного. Причем, в windows. Зачем люди усугубляют ? За пытаться испытывать границы программистского предвидения ? Ставьте линукс. Сейчас для mysql это мейнстрим. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2016, 13:36 |
|
||
|
ERROR 1114 (HY000): The table 'table2' is full - почему?
|
|||
|---|---|---|---|
|
#18+
AkinaЧто забавно - итоговая таблица получается процентов на 15 больше по размеру, чем исходная.Могу предположить, что это следствие того, что CTAS по умолчанию не создает никаких индексов, даже для PK. А когда нет явно указанного PK, то InnoDB создает неявное поле размером 6 байт и делает его PK. http://dev.mysql.com/doc/refman/5.7/en/create-table-select.html CREATE TABLE ... SELECT does not automatically create any indexes for you. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2016, 13:38 |
|
||
|
ERROR 1114 (HY000): The table 'table2' is full - почему?
|
|||
|---|---|---|---|
|
#18+
netwindmiksoftТогда больше всего на баг похоже. Например, где-то воткнули 32-разрядный int вместо 64-разрядного.Причем, в windowsНе думаю. Может быть, в Windows-специфичном коде в составе MySQL, но вряд ли в самой Windows. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2016, 13:40 |
|
||
|
ERROR 1114 (HY000): The table 'table2' is full - почему?
|
|||
|---|---|---|---|
|
#18+
miksoftnetwindпропущено... Причем, в windowsНе думаю. Может быть, в Windows-специфичном коде в составе MySQL, но вряд ли в самой Windows. да, я и имел ввиду, что проявляется в windows и было недотестировано. или может быть в 64битном билде нормально будет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2016, 13:44 |
|
||
|
ERROR 1114 (HY000): The table 'table2' is full - почему?
|
|||
|---|---|---|---|
|
#18+
miksoftinternal_tmp_disk_storage_engine какое значение имеет? InnoDB miksofttmp_table_size, случаем, не ограничен на уровне 4 Гбайт ? 64M Но временная таблица не используется. miksoftкогда нет явно указанного PK Исходная таблица не имеет индексов. И поле внутреннего номера в ней, несомненно, имеется. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2016, 14:53 |
|
||
|
|

start [/forum/topic.php?fid=47&fpage=104&tid=1831868]: |
0ms |
get settings: |
9ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
17ms |
get topic data: |
7ms |
get forum data: |
1ms |
get page messages: |
52ms |
get tp. blocked users: |
1ms |
| others: | 224ms |
| total: | 324ms |

| 0 / 0 |
