Разрешенный объем памяти исчерпан при импорте MySQL без PHP - PullRequest
2 голосов
/ 17 апреля 2009

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

mysql -u ***** -p***** nxtpp < backup.sql

Я получаю следующее сообщение об ошибке после частичного выполнения резервного копирования:

Allowed memory size of 33554432 bytes exhausted

Я уже знаю о переменной memory_limit в php.ini, но проблема в том, что я не использую PHP для импорта, просто команда mysql. Как я могу это исправить? Может ли проблема быть связана с 128 МБ памяти на сервере?

Редактировать: Оказалось, что phpMyAdmin, из которого я экспортировал, выдает ошибку. Я мог видеть HTML-код ошибки в реальном файле дампа. Когда MySQL выполнил это, он просто распечатал ошибку.

Ответы [ 2 ]

1 голос
/ 17 апреля 2009

Похоже, что PHP все еще как-то задействован. Сообщения об ошибках MySQL выглядят иначе.

Возможно, вы пытаетесь выполнить эту команду с помощью оператора exec () или system () в php? Тогда memory_limit все еще применяется.

0 голосов
/ 22 апреля 2009

Предположим, как сказал Питер Смит, что это не выполняется внутри скрипта PHP, попробуйте увеличить значение MySQL для key_buffer до чего-то большего.

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

Кроме того, это должно быть перемещено в http://serverfault.com, когда оно выйдет в эфир.

JPE

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...