Я ищу эффективный способ синхронизации нескольких баз данных (на разных серверах) с master
база данных (тоже на другом сервере). Имейте в виду, мне нужна только односторонняя синхронизация (от мастера ко всем остальным).
Во время поиска я наткнулся на несколько решений.
replication
: Что (из того, что я прочитал) ненадежно, потому что, если подчиненные серверы или временно отключаются, или что-то в этом роде, они в конечном итоге теряют информацию. (Пожалуйста, поправьте меня, если я ошибаюсь)Injection
: Что я также считаю ненадежным, не говоря уже о проблеме безопасности, потому что вы напрямую общаетесь с подчиненными базами данных.Поскольку мне не понравилось то, что я увидел, я решил создать свою собственную систему (в конечном итоге она мне тоже не понравилась). Моя система заключалась в создании новой таблицы с именем ORDERS
, и в основном будут содержать значения, которые можно перевести как «Удалить элемент с идентификатором 32 в таблице someTable», и на ведомой стороне они будут следовать каждой из этих инструкций.
Как вы думаете, лучший способ? База данных действительно мала (не более 3000 записей), поэтому мне нужно действительно простое решение. Спасибо
Вы можете использовать следующий сценарий для синхронизации таблиц с удаленного сервера базы данных на локальный сервер базы данных.
mysqldump -al -h [remote-host] --password=[passwd] --user=[username]
--add-drop-table [db-name] | mysql --user=[username] --password=[passwd]
-h localhost [db-name]