хотел бы иметь возможность синхронизировать подмножество таблиц между двумя базами данных 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. Особенно учитывая тот факт, что вы планируете создать кластер в будущем.