The requirement is to have a main DB (let's call this A) supporting a main application, where there are 2-3 more remote DBs (let's call them B/C/D) supporting complimentary remote applications.

There are some data (tables) in A that needs to be replicated to B/C/D to support the functions of the remote applications using B/C/D, and such data must always be available to all DBs, where source of such data is controlled/updated by the main application where A is.

There are a few other tables which are storing data collected from remote apps of DBs B/C/D, and such data are to be replicated to A, where such data will only be stored for a maximum of 30 days in B/C/D before they are to be purged automatically. Such data since already replicated to A, must be permanently stored in A.

Between A and B/C/D, some tables requires 2-way replication, where some other tables are only updated by the application at A, and some tables are updated by Applications at B/C/D but must be replicated to A and vice-versa. Some others requires only 1-way replication from B/C/D to A.

Given the above scenario, as it is not straight forward multi-Master replication as certain tables in DBs B/C/D are updated by the remote complimentary apps sitting with B/C/D, where such data must be replicated to A, and such data are also to be purged automatically when it reaches 30 days. So is MySQL able to handle the above scenarios and be configured to handle them accordingly?

Really appreciate some sound advices by MySQL experts out there as we are looking into deploying a solution using MySQL but is not dead sure if MySQL can support the requirements. Thanks in advance for your advice and confirmation of the above.