Каков простой способ импортировать большую базу данных в MySQL, используя phpmyadmin? - PullRequest
4 голосов
/ 04 июня 2010

Мне нужно импортировать базу данных (файл sql) размером около 120 МБ, но в phpmyAdmin нельзя импортировать более 8 МБ.

Как это решить?

Ответы [ 4 ]

6 голосов
/ 04 июня 2010

IIRC: в PHPMyAdmin нет ограничений и в MySQL - нет ограничений на размер POST (конфигурация веб-сервера) или размер загружаемого файла (php.ini). Если вы не можете изменить ни один из них, вам нужно загрузить файл другими способами, тогда ....

mysql -u username -p <mysql_export_file.sql

Если вы не можете загружать файлы / не имеете доступа к оболочке / не имеете доступной CLI-версии клиента mysql, тогда попробуйте проверить, можете ли вы подключиться удаленно, используя клиент CLI mysql:

mysql -u username -h www.example.com -p 

Если с этим все в порядке, выйдите и снова запустите его, отправив в экспортированный файл

mysql -u username -h www.example.com -p <mysql_export_file.sql

Если это не сработает, вам нужно будет либо разбить файл экспорта на несколько более мелких кусков, либо написать собственный загрузчик данных, который обрабатывает данные.

С

2 голосов
/ 14 мая 2012

Я решил это тремя способами в прошлом, вот решения в порядке простоты:

1) Увеличение лимита загрузки. Попросите вашего хоста разрешить загружать на сервер файлы большего размера (в частности, переменные post_max_size и upload_max_filesize), вероятно, лучше всего, чтобы они делали это в файле phpMyAdmin .htaccess.

2) Загрузка через FTP. PHPMyAdmin поддерживает загрузку файлов SQL через FTP, но вашему хосту необходимо настроить параметр «UploadDir» .

3) Используйте другой процесс импорта. BigDump - лучший вариант для этого. Проблема в том, что он по-прежнему отказывается импортировать некоторые файлы из-за количества строк SQL или других ошибок, плюс вам нужно настроить его для каждого сайта / базы данных.

1 голос
/ 07 июня 2010

У меня нет прямого доступа к серверу, поэтому успешно использовал BigDump istead. Вы загружаете его через FTP вместе с большим файлом SQL. Затем BigDump импортирует локальный файл на сервер, избегая ограничений на загрузку по HTTP / PHP.

0 голосов
/ 24 июля 2017

, если вы уверены, что импорт чистый и не имеет дубликатов, попробуйте следующее, что значительно сокращает время.

mysql> set autocommit=0; set unique_checks=0; set foreign_key_checks=0;
mysql> source /path/to/dump.sql
mysql> commit; set unique_checks=1; set foreign_key_checks=1;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...