phpMyAdmin: Не можете импортировать огромный файл базы данных, какие-либо предложения? - PullRequest
20 голосов
/ 19 февраля 2011

Недавно у меня появился новый компьютер, поэтому я решил перенести все свои веб-проекты. Перемещение файлов было простым, однако, перемещение базы данных, кажется, немного сложнее. Я экспортировал ВСЕ базы данных, используя phpMyAdmin, и сохранил его в localhost.sql. Затем я попытался импортировать его на мой новый компьютер, также используя phpMyAdmin, и получаю сообщение об ошибке:

No data to import. Either no filename was sent or the filesize exceeded the maximum allowed size. See FAQ 1.16. (This was translated from Swedish)

Я посмотрел на FAQ, как советовали. И они упомянули инструмент под названием BigDump. Поэтому я скачал его, и, посмотрев на настройки, которые вам нужно запустить, я понял, что не могу использовать это либо другое. Зачем? Потому что это требует подключения к одной конкретной базе данных. Я пытаюсь импортировать МНОГО баз данных одновременно. Так что успеха там нет.

Я также пытался установить PHP upload_max_filesize (и другой, упомянутый в FAQ) на что-то вроде 999. По какой-то причине это тоже не работает. Я перезапустил все службы, прежде чем запустить его снова.

Я должен упомянуть, что я использовал XAMPP на моем старом компьютере, и я переключился на WAMP на своем новом. Это не должно иметь значения, правда? В качестве обоих «пакетов» используются phpMyAdmin и apache.

Любые предложения о том, как обойти этот кошмар?

Ответы [ 17 ]

52 голосов
/ 04 января 2012

HowTo

Убедитесь, что вы изменили * * post_max_size "* и *" upload_max_filesize "* в вашем " php.ini " (который находится там, где ваш " php.exe " ).

Следующий пример позволяет загружать и импортировать файлы sql размером 128 МБ:

post_max_size=128M
upload_max_filesize=128M

Перезапустите Apache, и все готово.

Альтернатива

Альтернативный способ обойти проблему - использовать командную строку. Но это обходной путь, и такие уродливые, как обходные пути:

C:\xampp\mysql\mysql.exe -u root -p db_name < C:\some_path\your_sql_file.sql

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

19 голосов
/ 14 марта 2013

Другие всегда пытаются перенастроить файл php.ini, но для меня, я думаю, лучше всего использовать консоль MYSQL, потому что это действительно экономит ваше время.

Вот пошаговое руководство по консоли MYSQL:

Откройте консоль MYSQL и запустите ее.

Тип:

mysql> use database_name;

mysql> source location_of_your_file;

location_of_your_file должен выглядеть как C: \ mydb.sql

так команда mysql> source C: \ mydb.sql;

Этот тип импорта дампа sql очень полезен для БОЛЬШОГО ФАЙЛА SQL.

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

9 голосов
/ 08 апреля 2014

на сервере wamp:

  1. Откройте файл config.inc.php по пути «C: \ wamp \ apps \ phpmyadmin» и установите / добавьте эту строку.$ cfg ['UploadDir'] = 'upload';
  2. Перезапустите все службы
  3. Теперь создайте папку загрузки в папке phpmyadmin (C: \ wamp \ apps \ phpmyadmin4.0.4 \ upload) и поместите файл .sql в папку загрузки.
  4. Теперь откройте phpmyadmin в браузере, перейдите к импорту.Вы можете увидеть файл в выпадающем списке чуть ниже кнопки обзора с этой папкой и файлами для загрузки.
  5. Выберите его и идите…
7 голосов
/ 21 ноября 2013

Внесите изменения в xampp\php\php.ini

Найти:

post_max_size       = 8M
upload_max_filesize = 2M
max_execution_time  = 30
max_input_time      = 60
memory_limit        = 8M

Изменить на:

post_max_size       = 750M
upload_max_filesize = 750M
max_execution_time  = 5000
max_input_time      = 5000
memory_limit        = 1000M
3 голосов
/ 19 февраля 2011
3 голосов
/ 19 февраля 2011

Вы можете импортировать из командной строки - что-то вроде mysql < databasedump.sql (в зависимости от ОС).

1 голос
/ 13 сентября 2013

Выполните этот шаг, чтобы сбросить огромную базу данных:

1) Скачать скрипт php BigDump.php из http://www.ozerov.de/bigdump/

2) Переместите bigdump.php и databasedump.sql в папку проектов (htdocs или www).

3) откройте bigdump.php файл и отредактируйте приведенный ниже раздел:

$db_server   = 'localhost';
$db_name     = '';
$db_username = '';
$db_password = ''; 

$filename           = '.sql';  

4) откройте bigdump.php в браузере и нажмите на ссылку импорта.

1 голос
/ 13 июля 2015

Я знаю, что это старо, но .. Я давно столкнулся с этой проблемой.Либо я использовал консоль для выполнения файла дампа sql.Или я использую adminer в качестве альтернативы PHPmyAdmin.

1 голос
/ 02 ноября 2016

Измените файл my.ini

в разделе [mysqld], добавьте следующие строки

wait_timeout=28800
interactive_timeout = 28800
max_allowed_packet=32M

Перезапустите mysql

, откройте файл dump.sql и добавьтеследующие строки

use mydbname

Перейдите в папку mysql и выполните эту команду

mysql -u root -h localhost < dump.sql
1 голос
/ 24 января 2014

сжать файл sql (только gzip, bzip2, zip) и импортировать его. сжатие тестовых файлов, таких как файл db csv, значительно уменьшит размер файла (~ 11 МБ до 2 МБ), а механизм импорта phpmyadmin - сжатые данные

...