Система: 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 для мегабайта и так далее.