Подтвердить что ты не робот

Импорт базы данных MySQL с одного сервера на другой

У меня есть два выделенных сервера с корневым доступом. Оба работают под управлением Linux. Я хочу импортировать базу данных с Server1 на Server2. Я уже создал пустую базу данных на Server2. Я хочу знать команду Linux, через которую я могу напрямую импортировать базу данных? Есть ли такая особенность? Могу ли я использовать mysqldump? Я хочу сначала не брать резервную копию базы данных на сервере1, а затем перемещать этот файл на server2, а затем импортировать этот файл. Может ли импорт быть выполнен непосредственно с помощью некоторой команды?

Спасибо

4b9b3361

Ответ 1

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

Использование mysql для подключения к удаленному ящику:

mysqldump --all-databases | mysql -h yourserver.com 

Использование ssh для подключения к другому серверу

mysqldump --all-databases | ssh [email protected] mysql 

Используйте mysqldump -all-databases для передачи их всех или просто укажите имена баз данных. Подробнее см. В документации mysqldump.

Вы также можете использовать функцию "Replication" MySQL, хотя для настройки потребуется немного больше времени, и это довольно сложно. Вероятно, не стоит все время и проблемы только для одной миграции.

Ответ 2

Остановите mysqld на первом сервере, скопируйте каталог данных (обычно/var/lib/mysql) с сервера 1 на сервер 2, запустите mysqld на втором сервере и теперь он будет идентичен первому.

Вам не нужно использовать инструменты импорта/экспорта, если вы можете остановить сервер во время копирования файлов данных. Особенно, если вы можете сжать файлы перед их копированием, это будет самый быстрый способ.

Ответ 3

mysqldump –add-drop-table –extended-insert –force –log-error=error.log -uUSER -pPASS OLD_DB_NAME | ssh -C [email protected] "mysql -uUSER -pPASS NEW_DB_NAME"

Сбрасывает базу данных MySQL через сжатый SSH-туннель и использует его в качестве входа в mysql

источник