Недавно мне нужно было сменить сервер на сервер другого провайдера веб-хостинга. Чтобы сделать это, я обнаружил, что размер моей базы данных MySQL слишком велик для загрузки и выгрузки с тем доступом, который у меня есть.
Могу ли я с помощью phpMyAdmin экспортировать данные с моего текущего сервера MySQL и напрямую импортировать их на новый сервер MySQL, чтобы не пришлось загружать данные?
решение1
Ваша фраза "доступ, который у меня есть." интересна. Ограничена ли ваша пропускная способность? Ограничено ли пространство? Ограничено ли количество оболочек? Объяснение этого поможет прояснить более подходящее решение для ваших конкретных параметров.
Чтобы перенести базу данных с одной машины на другую,иметьчтобы перенести файлы. Это можно сделать несколькими способами:
1.) Скопируйте весь каталог mysql (конечно, после остановки mysql)
rsync -a main_host:/var/lib/mysql/ smaecond_host:/var/lib/mysql/
2.) Используйте mysqldump для создания дампа базы данных в файл, а затем перенесите этот файл:
На главном сервере:
mysqldump > [local_file]
rsync [local_file] secondary:host
На новом сервере:
mysql < [local_file]
3.) Sneakernet может быть вариантом, если у вас есть физический доступ к одному или обоим
Если у вас ограниченная пропускная способность, rsync может быть задан параметр --bwlimit для ограничения скорости xfer. Если у вас ограниченное пространство, то у вас могут быть гораздо большие проблемы.
решение2
Здесь не используется phpMyAdmin, поэтому в вашем случае это может не применяться.
Если вы используете MySQL и у вас есть доступ к оболочке, рассмотрите возможность использования mysqldump с каналами.
http://www.cyberciti.biz/faq/mysqldump-pipe-mysql-output-and-input/
Обратите внимание, что это может заблокировать таблицы на обоих серверах. Также, если вы не используете SSH, данные отправляются как обычный текст. Я часто использовал этот метод по быстрым частным сетевым соединениям.