Назад | Перейти на главную страницу

VPS - root - shell: настройка php для импорта файла размером 20 МБ с помощью phpMyAdmin

Система: VPS, 1 ГБ ОЗУ, 1,2 ГГц

Доступ: корень, оболочка, что угодно

Версии: PHP 5.4.16, phpMyAdmin 4.2.7, 5.5.37 MariaDB, Apache / 2.4.6 (CentOS 7)

Задача: Импортировать тупой sql-файл размером 20 МБ (300 тыс. Строк, 20 столбцов) в phpMyAdmin

Результат: Предупреждение: «Вероятно, вы пытались загрузить слишком большой файл»

документация: http://docs.phpmyadmin.net/en/latest/faq.html#i-cannot-upload-big-dump-files-memory-http-or-timeout-problems

я уже настроил php.ini:

upload_max_filesize memory_limit post_max_size upload_max_filesize

Я также использовал ftp для загрузки .sql на сервер - он не должен зависеть от конфигураций загрузки ...

Что еще я мог сделать? Где узкое место?

Пожалуйста, примите во внимание, что я хочу избежать BigDump ..

Спасибо

Поскольку я не могу комментировать, я просто отвечу здесь.

В большинстве систем (особенно в RHEL) есть файл в /и т.д называется my.cnf - в этом файле не должно быть много, кроме нескольких строк. Просто добавьте:

max_allowed_packet = 21M

Или выше. Вы можете изменить значение на любое, но не изменяйте его слишком низко (ниже 21M, так как он откажется от загрузки файла) или слишком высоко - в случае какого-либо цикла.

Однако также убедитесь, что эта строка находится в разделе [mysqld], а не в каком-либо другом.

Если вы не можете найти my.cnf в / etc, запустите команду find, чтобы найти его на всем диске.

find / -name my.cnf

вам нужно будет изменить конфигурацию mysql на /etc/mysql/my.cf, там вы должны обновить или добавить

max_allowed_packet = 21M

или выше, а также их настройка в папке phpmyadmin.

Обратите внимание, что вы можете использовать K для килобайта, M для мегабайта и так далее.