MySQL восстановление файлов на другом сервере

0

У меня есть тестовая база данных на отдельном удаленном сервере, чем моя производственная БД. Каждые раз в некоторое время, я хочу попробовать и проверить вещи, загрузив копию моей производственной БД в мою тестовую БД. К сожалению, резервный файл теперь находится на половину концерта, и у меня возникли проблемы с его передачей через FTP или SSH. Есть ли простой способ использовать команду mysql restore между серверами? Кроме того, есть ли другой способ переместить большие файлы, которые я не рассматриваю? Половина концерта не кажется такой большой, я бы предположил, что люди часто сталкиваются с этой проблемой.

Спасибо!

Теги:
file
upload
restore

4 ответа

1

Доступны ли серверы друг другу?

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

ex: mysqldump [options] | mysql -h test -u username -ppasswd

1

0. Пожалуйста, подумайте, действительно ли вам нужны производственные данные (особенно если они содержат некоторую конфиденциальную информацию).

1. Самое простое решение - сжать резервную копию на исходном сервере (обычно gzip), перенести его по проводу, а затем распаковать на целевом сервере.

http://www.techiecorner.com/44/how-to-backup-mysql-database-in-command-line-with-compression/

2.Если вам не нужна точная копия производственных данных (например, вам не нужны журналы приложений, ошибки, некоторые другие технические материалы), вы можете рассмотреть возможность создания резервной копии и восстановления на исходном сервере на другой DB, удалите все ненужные данные и THEN возьмите резервную копию, которую вы будете использовать.

3. Восстановите полную резервную копию на сервере ссылок в среде Dev и затем скопируйте только журналы транзакций (чтобы воспроизвести их на ссылочном сервере). В зависимости от шаблона использования журналы транзакций могут занимать намного меньше места, чем вся база данных.

0

Используйте эффективный метод передачи, а не ftp.

Если у вас есть файл дампа, созданный mysqldump, на тестовом сервере db, и вы обновляете его так часто. Я думаю, вы могли бы сэкономить время (если не на диске), используя rsync для его переноса. Rsync будет использовать ssh и сжимать данные для передачи, но я думаю, что и локальные, и удаленные файлы должны/быть несжатыми.

Rsync будет передавать только измененную часть файла.

Может потребоваться некоторое время, чтобы решить, что именно изменилось в файле дампа, но передача должна быть быстрой.

Должен признаться, я никогда не делал этого с файлом дампа с половиной гигабайтом.

0

Mysql позволяет вам подключаться к удаленному серверу базы данных для запуска SQL-команд. Используя эту функцию, мы можем передать вывод из mysqldump и попросить mysql подключиться к удаленному серверу базы данных для заполнения новой базы данных.

mysqldump -u root -p rootpass SalesDb | mysql --host=185.32.31.96 -C SalesDb 

Ещё вопросы

Сообщество Overcoder
Наверх
Меню