Назад | Перейти на главную страницу

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

Как сделать так, чтобы локальная база данных MySQL постоянно обновляла зеркало в Интернете?

Вам нужно будет настроить репликацию MySQL. Здесь вы можете найти подробную документацию:

http://dev.mysql.com/doc/refman/5.0/en/replication.html

Я согласен с Крейгом, но у меня были проблемы с MySQL и SSL через Интернет. Вместо этого я использовал SSH-туннели, и они работали на удивление хорошо. Я использую оболочку autossh (http://www.harding.motd.ca/autossh/) для управления соединениями в случае их смерти.

Если вам интересно, вот команда, которую я использовал (обратите внимание, вам нужно настроить ее только на одном конце туннеля, поскольку это соединение создает двунаправленный канал связи):

# /usr/bin/ssh -2 -N -o ServerAliveInterval=15 -i /root/.ssh/id_rsa -N -R \
  13306:127.0.0.1:3306 -L 13306:127.0.0.1:3306 root@<REMOTEIP>

Это создает туннель на порте 13306 на обоих концах к экземпляру MySQL, работающему на другой стороне. Чтобы настроить репликацию, вы указываете «главному» серверу 127.0.0.1 на порту 13306. Чтобы обернуть его с помощью autossh, используйте эту команду:

# /usr/local/bin/autossh -2 -fN -M 20000 -o ServerAliveInterval=15\
 -i /root/.ssh/id_rsa -N -R 13306:127.0.0.1:3306 -L 13306:127.0.0.1:3306 root@<REMOTEIP>

Удачи!

Вы можете настроить MySQL для выполнения репликации через SSL. Мы без проблем реплицируем один из наших серверов со среднего запада на западное побережье через SSL, 150 тыс. + Записей в день. Но для этого требуется доступ к конфигурации подчиненного сервера (зеркало в вашем вопросе).

Я думаю, вы ищете репликацию MySQL

http://www.howtoforge.com/mysql_database_replication