2013-08-14 2 views
0

У меня есть 28 МБ sql-файла, который нужно импортировать в mysql. Во-первых, я использую xampp для импорта, и он терпит неудачу, и поэтому я изменяю свои max_file_uploads, post_size (что-то в этом роде) в php.ini-development и php.ini-продукте до 40 МБ, но он по-прежнему показывает «max : 2048kb ", и импорт снова завершится неудачей.не может импортировать слишком большой sql-файл в mysql

Из исследований, я научился импортировать с помощью mysql.exe, поэтому я открываю mysql.exe и введите командную строку (MSDOS) ниже:

-u root -p dbname < C:\xxx\xxx\sqlfile.sql 

, но снова и снова до сих пор не удалось .. ...

В чем проблема? XAMPP? или мой sql настройки?

+0

Вы перезапустили свой xampp после внесения изменений в ini-файл? –

+1

можете ли вы пройти мимо сообщения об ошибке, которое вы получите, когда импорт не удался? – Gnagno

+0

Mr.Alien - да Gnagno - это при импорте sql.zip - «Данные не были импортированы для импорта.Либо имя файла не было представлено, либо размер файла превысил максимальный размер, разрешенный вашей конфигурацией PHP. «Это когда impoty .sql -« Вероятно, вы пытались загрузить слишком большой файл. Пожалуйста, обратитесь к документации способов обойти это ограничение « –

ответ

0

Необходимо увеличить max_allowed_packet в MySQL.

Просто запустите эту команду перед импортом файла:

set global max_allowed_packet=1000000000; 
+0

Я выполнил его, но все еще с ошибкой с сообщением об ошибке «Вероятно, вы пытались загрузить слишком большой файл. Пожалуйста, обратитесь к документации о способах обхода этого ограничения ». –

+0

В рамках той же связи с базой данных? Вы пытались добавить ее вручную в начале вашего 28-мегабайтного файла? Я знаю, что это нехорошее решение, но мы будем знать, будет ли max_allowed_packet проблема – user12933

0

Я также принес аналогичные проблемы. Поэтому после этого я также заключу, что большой файл sql никогда не будет импортирован в mysql. Он всегда будет давать тайм-аут ошибки.

Тогда я нашел решение.

Есть программное обеспечение Heidisql.

следуют следующие шаги: -

1) download the software. 
2) then install the software 
3) create new session in Heidisql and open the session 
4) then go to Tools -> Load SQL File -> Browse. 

Вот так. Это решение работает лучше всего для меня.

проверка ссылка here

+0

Примечание: Windows только для людей на других платформах –

+0

@MarkBaker да. Это основано на окнах. – ripa

2

Попробуйте это:

mysql -uroot -p --max_allowed_packet=24M dbname 

После входа в базу данных:

source C:\xxx\xxx\sqlfile.sql 

Я думаю, что вы должны быть в состоянии загрузить файл

+1

Это должен быть ответ - только тот, который работал на меня. Спасибо! –

+0

Рад, что это помогает :) – Sal00m

1

Насколько велик ваш файл ?. Вы можете также сделать это с помощью консоли:

mysql -u##USER## -p ##YOUR_DATABASE## < ##PATH_TO_YOUR_FILE## 

ли, что без выполнения файла mysql.ext: просто «CD» прямо в каталог и повторите команду.

Он запросит ваш пароль и начнет импорт сразу. Не забудьте создать базу данных или удалить все таблицы, если она уже существует.

Я всегда находил этот подход быстрым, безболезненным и легким, что катался с директивами php, конфигурацией phpmyadmin или внешними приложениями. Это прямо там, встроенное в ядро ​​mysql.

Смежные вопросы