Mysql – MariaDB | Sync Master with Slave in another Datacenter

mariadbmaster-slave-replicationMySQLreplication

We have a web application hosted on a dedicated server at Datacenter A. I am in the process of setting up a disaster recovery protocol and am considering the following.

My current plan is to purchase another dedicated server (or vps) at Datacenter B. This server will host a slave copy of the database located at Datacenter A. This will be my first time configuring replication and am curious about the following:

  1. Will there be a performance drop for the server hosted in Datacenter A due to network latency during the replication with server in Datacenter B?
  2. Database on server in Datacenter A is currently only accessible to applications running on the server (or via ssh tunnel). In order to configure replication with server hosted in Datacenter B, will I need to open port 3306 or can the replication take place via ssh?

Best Answer

The Master (in A) does very little work to provide the replication stream to the Slave (in B); don't worry about it.

There will, however, be a slight delay between when the data is available on the Master and when it is usable on the Slave. But, since you are talking only about Disaster Recovery, I don't need to lecture on "Critical Read".

I think that the replication is opened by the Slave, so the port being opened needs to be on A. Normally this is the same 3306 used for other clients. (But your tunneling may lead to something else.)

Related Question