PhpMyAdmin: невозможно импортировать огромный файл базы данных, какие-либо предложения?
Недавно у меня появился новый компьютер, поэтому я решил переместить все свои веб-проекты. Перемещение файлов было легко, однако перемещение базы данных было немного сложнее. Я экспортировал ВСЕ базы данных, используя 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.
Любые предложения о том, как обойти этот кошмар?
Ответы
Ответ 1
HowTo
Убедитесь, что вы оба * "post_max_size" * и * "upload_max_filesize" * в своем "php.ini" (который находится там, где находится ваш php.exe).
В следующем примере вы можете загружать и импортировать 128 МБ sql файлы:
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 не имеют значения. Вот почему я называю это "обходным путем", так как он фактически не решает вашу проблему.
Ответ 2
Другие всегда пытаются перенастроить файл php.ini, но для меня я считаю, что лучше всего использовать консоль MYSQL, потому что это действительно экономит ваше время.
Ниже приведены пошаговые инструкции к консоли MYSQL:
Откройте консоль MSQL и запустите ее.
Тип:
mysql > используйте имя_базы базы данных
mysql > source location_of_your_file;
location_of_your_file должен выглядеть так: C:\mydb.sql
так команда mysql > source C:\mydb.sql;
Этот вид импорта sql-дампа очень полезен для BIG SQL FILE.
Я скопировал свой файл mydb.sq в каталог C:. Он должен быть капиталом C: для запуска, потому что он даст вам ошибку mysql или синтаксическую ошибку
Ответ 3
в сервере Wamp:
- Откройте файл config.inc.php в пути "C:\wamp\apps\phpmyadmin" и установите/добавьте эту строку. $cfg ['UploadDir'] = 'upload;
- Перезапустить все службы
- Теперь создайте папку для загрузки внутри папки phpmyadmin (C:\wamp\apps\phpmyadmin4.0.4\upload) и поместите файл .sql в папку для загрузки.
- Теперь откройте phpmyadmin в браузере, перейдите к импорту. Вы можете увидеть файл в раскрывающемся списке чуть ниже кнопки обзора с этой папкой каталога каталогов и файлами.
- Выберите его и нажмите...
Ответ 4
Внесите изменения в 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
Ответ 5
Вы можете импортировать из командной строки - что-то вроде mysql < databasedump.sql
(в зависимости от ОС).
Ответ 6
Пробовал это?
http://daipratt.co.uk/importing-large-files-into-mysql-with-phpmyadmin/
Ответ 7
Следуйте этому шагу, чтобы сбросить огромную базу данных:
1) Загрузите php script 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 в браузере и нажмите ссылку импорта.
Ответ 8
Это импортирует ваш большой файл sql за несколько секунд:
e:\xampp\mysql\bin>mysql -u root -h localhost < verybigsqlfile.sql
Не используйте phpmyadmin для импорта больших файлов sql. Если вы используете mysql онлайн, то получите доступ к консоли mysql.
Ответ 9
сжать файл sql (только gzip, bzip2, zip) и импортировать его. сжатие тестовых файлов, таких как файл db csv, резко сократит размер файла (от ~ 11 мб до 2 мб) и файл импорта импорта phpmyadmin.
Ответ 10
Измените файл 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
Ответ 11
phpmyadmin также имеет возможность читать с жесткого диска - загрузить дамп и использовать эту функцию. Тем не менее, я настоятельно советую вам с консоли, если это возможно. Это происходит быстрее, так как php не должен обрабатывать файл первым, и он загружается непосредственно на сервер.
Ответ 12
Если вы загружаете очень большую базу данных, хотя веб-интерфейс будет ограничен максимальным размером HTTP-запроса HTTP
Отредактируйте PHP.ini
, чтобы увеличить лимит загрузки
найдите эту строку
;;;;;;;;;;;;;;;;
; File Uploads ;
;;;;;;;;;;;;;;;;
; Whether to allow HTTP file uploads.
file_uploads = On
; Temporary directory for HTTP uploaded files (will use system default if not
; specified).
;upload_tmp_dir =
; Maximum allowed size for uploaded files.
upload_max_filesize = ??M **<--- change here ....**
Затем перезапустите сервер
/sbin/service httpd restart
или используйте directadmin для перезапуска службы http
Ответ 13
Используйте SQLYog для операций с db, это лучший выбор для профессионала. С помощью SQLYog вы можете импортировать nGB {n- > final_size} из sql db.
Ответ 14
Я попытался изменить разрешенный размер, но это не устранило проблему.
Однако в моем конкретном случае есть папка с именем uploaddir, расположенная в папке
EasyPHP\модули\PHPMyAdmin\UploadDir
Я поставил там файл SQL, а затем вернулся на вкладку "Импорт" в PHP My Admin.
Там была опция, позволяющая загружать файлы, которые уже были расположены в папке "uploaddir"; и у них нет предела.
Я использую Windows и EasyPHP 12.1
Ответ 15
Простое решение - просто загрузить и установить программное обеспечение MySql Workbench, основанное на gui и удобное в использовании. Недавно я импортировал базу данных mysql размером 300 МБ.
Ответ 16
Я знаю, что это старый, но..
Я давно столкнулся с этой проблемой.
Либо я использовал консоль для выполнения sql файла дампа.
Или я использую adminer в качестве альтернативы PHPmyAdmin.
Ответ 17
Если вы используете Linux, вы можете перейти на терминал и после подключения к mysql и выбрать базу данных, просто введите:
\. /path/to/database/database.sql