Каковы ограничения по размеру mysql в Ubuntu 18.04 и как их увеличить?

Предыстория: Я запускаю cqpweb, интерфейс запросов корпуса, написанный на PHP и подключенный к базе данных mysql, на веб-сервере Apache2 под Ubuntu 18.04 LTS. Сервер Ubuntu был настроен с нуля, и в настоящее время нет никаких ручных настроек для mysql или php.

cqpweb работал успешно, если только не начал выдавать сообщения об ошибках, подобные этому:

 A MySQL query did not run successfully!

 Original query: LOAD DATA LOCAL INFILE '/data2/cqpweb/cach/tab_dist_fycel9oplk' INTO TABLE `db_dist_g2f3ndxf40` FIELDS ESCAPED BY '' /* from User: knappen |
 Function: create_db() | 2019-Apr-25 11:23:01 */

 Error # 0:

Это произошло за одну ночь, никаких обновлений или других изменений в системе не произошло. Поэтому я подозреваю, что был достигнут некоторый предел размера базы данных, и мне придется его увеличить.

Вопрос: Какие существуют ограничения по размеру для баз данных mysql и как их увеличить?

Дополнительная информация:

php --version
PHP 7.2.17-0ubuntu0.18.04.1 (cli) (built: Apr 18 2019 14:12:38) ( NTS )

mysql --version
mysql  Ver 14.14 Distrib 5.7.25, for Linux (x86_64) using  EditLine wrapper

Размер mysql:

root@corpora:/var/lib/mysql# du -h ./
23M        ./mysql
676K        ./sys
16G        ./cqpweb
1.1M        ./performance_schema
16G        ./

Журнал ошибок: в /var/log/mysql/error.log нет связанных сообщений .

Выполнение запроса к базе данных вручную из приглашения mysql (под тем же пользователем базы данных, что и cqpweb) успешно (к моему большому удивлению).

РЕДАКТИРОВАТЬ: Неформат свободного дискового пространства - на устройстве осталось достаточно места.

РЕДАКТИРОВАТЬ 2: Я попробовал грубый подход к основной проблеме, сделал резервное копирование данных в базе данных, используя mysqldump, уничтожив базу данных, переустановив mysql-сервер, восстановив базу данных из дампа; уменьшение размера с 16G до 11G, но первоначальная проблема сохраняется.

0
задан 26 April 2019 в 17:11

1 ответ

Поэтому я подозреваю, что был достигнут некоторый предел размера базы данных, и что мне придется его увеличить.

Я сомневаюсь в этом. Если вы достигнете предела, о них сообщают (вероятно, /var/log/mysql/error.log и / или /var/log/mysql.log).

Какие существуют ограничения по размеру для баз данных mysql и как их увеличить

Эти ограничения НЕ доступны для редактирования:

  • InnoDB Permissions до 4 миллиардов столов.

  • MySQL имеет жесткое ограничение в 4096 столбцов на таблицу

  • Максимальный размер табличного пространства составляет четыре миллиарда страниц (64 ТБ), что также является максимальным размер для стола.

  • MyISAM позволяет по умолчанию увеличивать размер файлов данных и индексов до 256 ТБ, но этот предел можно изменить до максимально допустимого размера 65 536 ТБ (2567 - 1 байт).

Но вы не рядом с ними.

Другие ограничения могут быть применены путем редактирования /etc/my.cnf, но если они есть, вы их добавили.

Запрос MySQL не был успешно выполнен!

В этом уведомлении ничего не говорится.

Ваша проблема с функцией create_db, и MySQL выдает ошибку. Теоретически это может быть ограничением MySQL, но вероятность неправильного запроса намного выше. Возможно, в данных есть (двойная) кавычка или какой-то другой символ, который обрабатывается неправильно. Или существует JOIN не правильно и из-за объема данных MySQL теперь считает, что ему нужно использовать другой INDEX (SELECT с ORDER BY, который имеет много одинаковых значений или имеет значения NULL в поле, имеет тенденцию переключать INDEX a много в моем опыте).

Вам, вероятно, нужно выяснить, что на самом деле представляет собой команда SQL, и изучить ее или результаты выполнения.

Без фактического содержания функции и примера вашей базы данных не так уж и много.

0
ответ дан 26 April 2019 в 17:11

Другие вопросы по тегам:

Похожие вопросы: