У меня есть 10 серверов MySQL, и каждый из них содержит базу данных, которую необходимо реплицировать на один централизованный сервер MySQL. Сложность состоит в том, что каждый сервер должен реплицировать свою базу данных в одну и ту же базу данных на централизованном сервере, по сути создавая единую централизованную базу данных агрегированных данных со всех отдельных серверов. Хотя различные таблицы действительно содержат первичные ключи, эти столбцы можно игнорировать, и их не нужно реплицировать на централизованный сервер. Структура базы данных идентична на каждом сервере. Как лучше всего этого добиться?
Стандартный способ сделать это - назначить столбец автоинкремента каждой из этих таблиц и увеличить их на интервал - 10, в вашем случае. Каждый сервер будет использовать уникальное смещение в интервале, поэтому сервер 1 будет использовать идентификаторы 1, 11, 21 и т. Д., Сервер 2 будет использовать идентификаторы 2, 12, 22 и т. Д.
Это гарантирует, что они никогда не будут перекрываться.
Затем вам нужно только настроить репликацию с каждого исходного сервера на централизованный агрегатор и объединить все записи.