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

Как мне синхронизировать подмножество таблиц между двумя базами данных на одном сервере базы данных mysql

хотел бы иметь возможность синхронизировать подмножество таблиц между двумя базами данных mysql, которые работают на одном сервере. Одна из баз данных действует как мастер, в котором можно делать вставки, обновления и удаления. Вторая база данных использует те же таблицы для операций только для чтения. Я не хочу использовать для этого объединенные таблицы. Долгосрочная цель будет заключаться в разделении двух баз данных на несколько серверов. Вторая база данных, которая имеет подмножество таблиц, предназначенных только для чтения, также может быть реплицирована несколько раз для географического распределения для целей нагрузки и производительности, каждая с уникальными данными. .. Как только это будет достигнуто, я планирую использовать binlog для репликации этих конкретных таблиц во вторичных базах данных. А пока я хотел бы синхронизировать эти таблицы. Есть ли более элегантный способ сделать это, кроме использования cronjob и mysqldump?

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

быстрый гугл получается этот

в качестве альтернативы вы можете использовать триггеры для репликации, что-то вроде

CREATE TRIGGER replicatetable AFTER INSERT ON db1.table
  FOR EACH ROW BEGIN
    INSERT INTO db2.table(field1,field2, ...) values (db1.table.field1,db1.table.field2, ...);
  END;

аналогично UPDATE и DELETE

В зависимости от того, какая у вас версия MySQL 5.1+, я бы предложил Replication. Особенно учитывая тот факт, что вы планируете создать кластер в будущем.