Как скопировать базу данных MySQL с одного сервера на другой?

2

Я только что закончил делать сайт в Joomla! 1.6. Веб-сайты в Joomla! состоят из двух основных частей. Есть файлы, которые используются HTTP-сервером, и есть база данных. У меня есть FTP-доступ к серверу и я скопировал необходимые файлы, но я не знаю, как скопировать базу данных MySQL.

У меня есть доступ к терминальному приложению MySQL на удаленном компьютере и к MySQL на моем компьютере. На сервере уже есть имя пользователя, которое я могу использовать, и есть пустая база данных, которую я должен использовать. Пользователь имеет полный контроль над базой данных.

У меня нет физического доступа к удаленному серверу.

Это должно быть очень просто, но Google не со мной сегодня.

AndrejaKo
источник

Ответы:

2

Эта ссылка (взята прямо из документации MySql ...) показывает, как использовать утилиты w / MySql для перемещения базы данных в другое место. Лично мне никогда не нужно было этого делать, но подробных инструкций должно быть достаточно.

g19fanatic
источник
2

Есть два основных способа достижения этого.

1) Дамп базы данных в текстовый файл и импорт на удаленном конце

2) Скопируйте файлы необработанных данных.

Первый вариант обычно является наиболее надежным, особенно если две системы различны.

Сначала создайте дамп базы данных:

$ mysqldump -u <username> -p<password> <databasename> | bzip2 >mydatabase.sql.bz2

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

Получив файл mydatabase.sql.bz2, перенесите его на удаленный сервер с помощью любых инструментов, которые вы обычно используете (например, scp);

Для передачи вам необходимо создать базу данных на удаленном сервере (или создать ее для вас с помощью системных администраторов / панели управления):

mysql> create database <databasename>;
mysql> grant all privileges on <databasename>.* to <username>@localhost identified by '<password>'

Очевидно, заменить детали своими собственными деталями.

Теперь для восстановления базы данных:

$ bzcat mydatabase.sql.bz2 | mysql -u <username> -p<password> <databasename>

Через несколько секунд ваша база данных должна быть установлена ​​на удаленном сервере.

Majenko
источник
1

Я переместил довольно много сайтов Joomla вручную с серверов разработки на их обычные хосты, но теперь использую Akeeba Backup, поскольку он создает «пакет» сайта, который можно загрузить на целевой сервер и затем «выполнить» (из браузера). восстановить сайт - это чудесно, бесплатно и совместимо с 1.6.

Стоит прочитать: http://www.akeebabackup.com/software/akeeba-backup.html

Linker3000
источник