Импорт базы данных Mysql через консоль (терминал, ssh)

В этом посте я сделаю заметку для себя, а возможно и для других. Порой приходится импортировать или экспортировать большие по размеру базы данных. Но делая это через сторонние программы или скрипты, дело упирается в ограничения POST данных, в размер загружаемых файлов на сервер или, в конце концов, в скорость интернета. Тут я опишу способ импорта/экспорта Mysql базы данных через ssh (консоль, терминал).

1. Импорт базы данных.

В принципе можно воспользоваться командой :

mysql -uroot -proot_pass db_name < db_name.sql

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

Самым лучшим выходом из ситуации будет ипморт напрямую через cli MySQL :

  • Заходим в MySQL: mysql -uLogin -pPassword (вместо Login и Password вводим данные для авторизации пользователя БД)
  • Выбираем базу данных: use db_name (вместо db_name вводим название БД)
  • Делаем импорт файла в выбранную бд: source db_name.sql (вместо db_name.sql вводим название файла дампа БД или путь до файла, если вы находидест не в той папке, где лежит файл)

2. Экспорт базы данных.

Делаем экспорт посредством удобного mysqldump :

mysqldump -uLogin -pPassword db_name > db_name.sql


Если Вам интересны темы, про которые я пишу в своем блоге, то Вы можете Подписаться на обновления. Подписываться на новости и обновления можно по емайл или через популярные сервисы yandex и google!

Эта запись была опубликована в рубрике Полезное для w мастеров и отмечена метками , . Добавить в закладки ссылку.

2 в ответ на Импорт базы данных Mysql через консоль (терминал, ssh):

  1. psynux пишет:

    Нужно ли добавлять пользователя в mysql для импортируемой базы данных? Как и какие назначить права пользователю на импортируемую базу данных?

    • FaNiska пишет:

      Здравствуйте.
      Вы посмотрите код. Там видно что сначала пользователь авторизуется в mysql со своим логином и паролем. Потом выбирает БД и туда импортирует дамп. Естественно у пользователя должны быть права на эту БД. Какие права пользователя нужны зависит от того, что содержится в файле дампа. Если есть команды INSERT то у пользователя должны быть права на запись, если другая команда — права для этой команды соответственно. Если хотите узнать какие права необходимы для определенной операции, то обратиться нужно к документации MySQL.
      С уважением, Faniska.

Добавить комментарий