#### 17.1.5.1 Configuring Multi-Source Replication

[]()

 A multi-source replication topology requires at least two sources and one replica configured. In these tutorials, we assume that you have two sources `source1` and `source2`, and a replica `replicahost`. The replica replicates one database from each of the sources, `db1` from `source1` and `db2` from `source2`.

 Sources in a multi-source replication topology can be configured to use either GTID-based replication, or binary log position-based replication. See [Section 17.1.3.4, “Setting Up Replication Using GTIDs”](replication-gtids-howto.html) for how to configure a source using GTID-based replication. See [Section 17.1.2.1, “Setting the Replication Source Configuration”](replication-howto-masterbaseconfig.html) for how to configure a source using file position based replication.

 Replicas in a multi-source replication topology require `TABLE` repositories for the replica's connection metadata repository and applier metadata repository, which are the default in MySQL 8.0. Multi-source replication is not compatible with the deprecated alternative file repositories.

 Create a suitable user account on all the sources that the replica can use to connect. You can use the same account on all the sources, or a different account on each. If you create an account solely for the purposes of replication, that account needs only the [`REPLICATION SLAVE`](privileges-provided.html#priv_replication-slave) privilege. For example, to set up a new user, `ted`, that can connect from the replica `replicahost`, use the [**mysql**](mysql.html) client to issue these statements on each of the sources:

```
mysql> CREATE USER 'ted'@'replicahost' IDENTIFIED BY 'password';
mysql> GRANT REPLICATION SLAVE ON *.* TO 'ted'@'replicahost';
```

 For more details, and important information on the default authentication plugin for new users from MySQL 8.0, see [Section 17.1.2.3, “Creating a User for Replication”](replication-howto-repuser.html).

