У меня есть две идентичные базы данных MySQL, одна на внутреннем сервере, а другая на сервере веб-хостинга. Я хочу обновлять базу данных на веб-хосте каждый день с базой данных на внутреннем сервере. Есть ли способ автоматизировать этот процесс, и как я могу сделать это вручную? Если я делаю это вручную, требуется ли мне получить дамп SQL базы данных на внутреннем сервере и затем импортировать его в базу данных на веб-хосте? Может кто-то совет, пожалуйста.
19
Ответы:
У вас есть несколько вариантов:
Настройте репликацию MySQL между серверами. Ваш внутренний сервер может выступать в качестве главного, а сервер веб-хоста - в качестве подчиненного. Любые обновления, выполненные на ведущем устройстве, будут немедленно реплицированы на ведомое устройство (при условии работающего соединения). Скорее всего, это будет самый простой и эффективный вариант выбора. Чтобы использовать репликацию, ваша внутренняя база данных должна быть доступна по сети с веб-хоста.
Вы можете прочитать больше о репликации здесь .
Каждый день вы можете выполнить mysqldump на внутреннем сервере, загрузить файл дампа на веб-хостинг и импортировать данные. Поскольку это полный дамп, если у вас очень большая база данных, это может оказаться невозможным. Если хотите, эту процедуру можно было бы написать в сценарии, чтобы избежать необходимости делать это вручную.
Вы можете настроить двоичное ведение журнала на внутреннем сервере. Затем вы можете отправить двоичные журналы на веб-хост и применить их к базе данных, эффективно воспроизводя все транзакции, которые произошли в тот день, на веб-сервере. По сути, именно так и происходит с репликацией, так что вы почти всегда будете использовать репликацию, настроенную вместо этой опции.
Если нет никакой связи между двумя базами данных, проще всего выбрать mysqldumps каждый день.
источник
Вы также можете использовать такие опции, как symbricDS, которые могут помочь в синхронизации двух баз данных. Благодаря этому вы сможете выбрать таблицы, которые необходимо синхронизировать, чтобы сэкономить пропускную способность интернета. Это также подходит для сценария, когда отсутствует связь между двумя точками.
источник
Как настроить репликацию базы данных с MariaDB: https://www.techrepublic.com/article/how-to-set-up-database-replication-with-mariadb/
источник
Вы можете использовать Navicat . Это в первую очередь менеджер БД, но он имеет функции передачи и синхронизации данных, а также планировщик, поэтому вы можете автоматизировать. Это не бесплатно, но есть 30 полнофункциональных пробных версий.
источник