2013-03-08 2 views
0

У меня есть приложение php + mysql и я хотел бы знать, что лучше всего сделать мое приложение работать, когда интернет-соединение потеряно.Работа с mysql, когда нет подключения к Интернету

Я думал о том, что у меня два идентичных Базы данных, один в моем интернет-хосте и другие в моем локальном хосте. Поэтому, когда нет соединения, я бы сохранил все данные в моем локальном хосте.

Вопрос: как я могу перенести данные с моего локального хоста на базу данных на моем интернет-хосте?

+0

Что делает ваше приложение? – shapeshifter

+0

[Возможно, дублируется] (http://stackoverflow.com/questions/1935314/connecting-to-remote-mysql-server-using-php). Вы пытаетесь подключить удаленный сервер mysql? если вы хотите получить доступ к удаленному серверу [см. здесь] (http://support.hostgator.com/articles/cpanel/how-to-connect-to-the-mysql-database) @Renan Lopes Ferreira – gks

+0

Мне нужно данных на удаленном сервере. Но я бы хотел, чтобы мое приложение работало даже тогда, когда нет связи с этим удаленным сервером. Рекомендация –

ответ

1

Вам необходимо использовать replication - эта ссылка сообщит вам, как настроить его, чтобы ваша локальная машина была репликой удаленной машины.

+0

Это, кажется, лучший способ, однако, у меня нет доступа к этим «.ini» файлам на моем удаленном сервере! –

+0

Является ли ваше требование иметь местную копию только для целей тестирования или для того, чтобы копия была актуальной? –

+0

Мне нужен локальный хост, чтобы быть копией, но мне нравится все изменения, сделанные в локальном хосте, когда доступ в Интернет пропал, для передачи на удаленный сервер. Интернет в моей стране очень нестабилен, но мне нужны данные, чтобы они были там, и система работала, даже когда нет связи. Удаленный сервер - тот же самый, на котором размещен мой сайт, поэтому у него нет разрешения на изменение этих файлов .ini. –

0

Если у вас есть phpMyAdmin на обоих серверах, вы можете экспортировать базу данных localhost, а затем импортировать его в размещенную базу данных.

1

Вы собираете данные, например, подписки? Если это так, вы можете временно приостанавливать новые записи, когда обнаруживаете, что ваш основной db не работает, и делаете обычные вставки и удаляет, чтобы перенести необработанные новые записи, когда вы обнаруживаете, что обе базы данных доступны, и любые необработанные записи существуют локально.

Если вам необходимо запрашивать и поддерживать реляционные данные между двумя базами данных, вам понадобится более надежная и сложная стратегия репликации.

+0

Я подумал об этом, но есть много таблиц и много операций. Зная, где произошло обновление и перенесено его, один за другим, на удаленный сервер, кажется, не самый лучший способ. –

+0

Кажется, вам нужна репликация с несколькими мастерами, что представляет собой сложную проблему. Существует приличное обсуждение блога со ссылками на кластер Galera и кластер XtraDB здесь: http://www.mirantis.com/blog/ha-platform-components-mysql-rabbitmq/ – phatfingers

Смежные вопросы