2015-07-14 5 views
-3

У меня есть база данных 5 ГБ, которую нужно загрузить на phpmyadmin, и это тоже на общем сервере, где я не могу получить доступ к shell.Is есть ли какое-нибудь решение, которое может занять меньше времени для загрузки? Пожалуйста, помогите мне, указав шаги для загрузки файла sql. Я искал через интернет, но не смог найти ответа.Загрузка большого файла базы данных на сервер

+0

вы пробовали что-нибудь Какие именно шаги вы пытались до сих пор Что именно не работает, как вы ожидали?? –

+0

Я попытался импортировать базу данных с помощью PHPMYADMIN, но не работал. – sriharichander

+0

уверен, что веб-сервер никогда не позволит загружать такой большой файл. – Nick

ответ

2

Не используйте phpmyadmin.

Предполагая, что у вас есть оболочка, загрузите файл и отправьте его непосредственно команде mysql.

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

cat file.sql | mysql -uuser -ppassword database 

или вы можете сделать сжатые файлы:

zcat file.sql.gz | mysql -uuser -ppassword database 

Перед делать эту проверку:

  • подключение к базе данных работ (правильная база данных, пользователь и пароль)
  • база данных пуста :)
  • MySQL Максимальный размер пакета OK
  • у вас есть достаточно дискового пространства

* UPDATE *

Вы сказали, что не имеют доступа оболочки.

Тогда вы следующие варианты -

  • загрузить поддержку файлов и контактов, пусть они делают это для вас.
  • feed it remote, cpanel есть специальное меню, где вы можете получить доступ для доступа, другие панели тоже имеют такую ​​же способность.

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

cat file.sql | mysql -uroot -phipopodil -hwebsite.com 

или для окон:

/path/to/mysql -uroot -phipopodil -hwebsite.com < file.sql 
  • сделать некоторые "взломать" - кормить его через crontab, at или через команду php system().

Если вы выбираете «взломать» вариант, обратите внимание следующее:

  • PHP есть max_execution_time - даже если вы установите его в ноль, не может быть какой-то предел «навязанного» от хостинга.
  • Обычно хосты имеют ограниченные обновления mysql в час.
  • могут быть некоторые ограничения ulimit.
  • Если вы выполняете загрузку 5 ГБ на общий сервер, сервер замедляется, и администратор проверяет, что вы делаете.
1

Это зависит от вашей базы данных, вы отметили ее тремя различными типами баз данных, mysql, sql-server и postgresql. Я знаю, что mysql и postgresql имеют функции импорта, хотя я был бы удивлен, если бы SQL Server не помог. Вы можете импортировать файл базы данных через командную строку вместо использования phpmyadmin.

Кстати, инструмент phpmyadmin также имеет функцию импорта, но это опять же зависит от формата вашей базы данных. Если это совместимый sql-файл, вы можете загрузить его на phpmyadmin и импортировать его там, но я бы рекомендовал предыдущий метод, который я упомянул, загрузить его на ваш хост, а затем использовать любой инструмент базы данных (mysqlimport для mysql, или если это результат команды pg_dump, вы можете просто запустить:

psql <dbname> < <yourfile> 

т.е.

psql mydatabase < inputfile.sql 
+0

Я не буду голосовать, но вы даете инструкции для postgres. – Nick

+0

И я перечислил команду mysqlimport в тексте, что еще проще. Так или иначе, так как OP говорит, что у них нет доступа к оболочке. В любом случае, я бы порекомендовал ваш ответ. Благодарю. –

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