Импорт базы данных 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