mysql: синхронизация локальной базы данных mysql и базы данных удаленного сервера

#mysql #localhost #remote-server

#mysql #локальный хост #удаленный сервер

Вопрос:

Я немного любитель в веб-разработке. Но похоже, что большинство людей разрабатывают на своих локальных машинах и загружают на свои удаленные серверы, когда все готово. Я хочу начать это делать. Я установил Xampp (Apache) на свой локальный компьютер. Но для того, чтобы это действительно работало, мне нужно, чтобы базы данных mysql, которые уже существуют на моем удаленном сервере, были «синхронизированы» или «дублированы» на моем локальном компьютере. Но я нахожу это несколько трудным для понимания.

Во-первых, должен ли я использовать функцию «дублирования» mysql (с моим удаленным сервером в качестве ведущего) и локальной машиной в качестве ведомого устройства? Или есть лучший способ сделать это? Должен ли я синхронизировать, а не дублировать

Во-вторых, не хочет ли кто-нибудь дать мне краткое описание того, как я добиваюсь этого «дублирования» или «синхронизации»

Спасибо

Ответ №1:

Это может быть заманчиво, но безнадежно пытаться хранить базу данных в двух местах. Вместо этого всегда храните базу данных на сервере, потому что гораздо проще разрабатывать и отлаживать ваш код, если он находится только в одном месте. Как вы обнаруживаете, «Повторная синхронизация» и «дублирование» и все такое — это слишком много проблем. База данных в любом случае окажется на сервере, так что вы можете поместить ее туда прямо сейчас.

Кроме того, вам не понадобится веб-сервер на вашем локальном компьютере, что разгрузит вас.

Это следующее применимо, если вы пишете CGI. Если вы не уверены, пишете ли вы CGI или нет, то это не так (ну, наверное, нет). {

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

Чтобы это заработало, вам понадобится библиотека mysql на вашем локальном компьютере; никакой другой компонент mysql там не нужен. Сервер mysql будет работать только на вашем сервере.

Ознакомьтесь с mysql «connector» для языка, который вы используете.

}

Комментарии:

1. Дорогой Пит, это приятно слышать. Но могу ли я продолжить. Если я запускаю свой скрипт (который выполняет запрос mysql) на своем локальном компьютере, но моя база данных находится на моем удаленном сервере, как я смогу увидеть эти данные при локальном просмотре своего сайта?

2. @Jeff — В моем объяснении должно быть чего-то не хватает, что позволит вам заполнить слепую зону, на которую вы смотрите. «как я смогу увидеть эти данные при локальном просмотре моего сайта?» Ответ: если ваше подключение к удаленному серверу MySQL работает правильно, то просмотр данных таблицы локально точно такой же , как если бы ваша таблица MySQL была локальной. Ваша библиотека MySQL делает локальность или удаленность вашей таблицы невидимой; это заставляет ее выглядеть так, как если бы ваша таблица была локальной. Возможно, вы захотите попробовать и посмотреть, что получится. Как только вы преодолеете этот маленький концептуальный бугорок, понимание всплывет на поверхность.