Недавно мне нужно сменить сервер на другой сервер провайдера веб-хостинга. Для этого только что обнаружил, что размер моей базы данных MySQL слишком велик для загрузки и выгрузки с тем доступом, который у меня есть.
Могу ли я с помощью phpMyAdmin экспортировать данные с текущего сервера MySQL и напрямую импортировать их на новый сервер MySQL, чтобы мне не приходилось загружать данные?
Ваша фраза "доступ, который у меня есть". интересно. У вас ограничена пропускная способность? Место ограничено? Shell limited? Объяснение этого поможет уточнить решение, лучше подходящее для ваших конкретных параметров.
Чтобы получить БД с одной машины на другую, ваш иметь для передачи файлов. вы можете сделать это несколькими способами:
1.) Скопируйте весь каталог mysql (конечно, после остановки mysql)
rsync -a главный_хост: / 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. Если у вас мало места - то проблема может быть гораздо больше.
Это не использует phpMyAdmin, поэтому может не относиться к вашему случаю.
Если вы используете MySQL и у вас есть доступ к оболочке, рассмотрите возможность использования mysqldump с каналами.
http://www.cyberciti.biz/faq/mysqldump-pipe-mysql-output-and-input/
Обратите внимание, что это может заблокировать таблицы на обоих серверах. Также, если вы не используете SSH, данные отправляются в виде обычного текста. Я часто использовал этот метод для быстрых частных сетевых ссылок.