> ## Documentation Index
> Fetch the complete documentation index at: https://www.integrate.io/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# ELT/CDC: Sources - Azure MySQL

> How to configure Azure MySQL as a CDC source in Integrate.io ELT & CDC, including read-replica setup, user creation, and binary logging.

## Create Read-Replica (optional)

We recommend syncing data using a read-replica of your database to ensure sync doesn't affect your primary database instance. If you wish to sync against Primary, feel free to skip this step.Refer this [documentation](https://docs.microsoft.com/en-us/azure/mysql/howto-read-replicas-portal) to create a read-replica.

## Create user

Create a sync user for Integrate.io by executing,

```bash theme={null}
CREATE USER 'flydata'@'%' IDENTIFIED BY '<your_password>';
```

Grant necessary privileges,

```sql theme={null}
GRANT SELECT, RELOAD, REPLICATION SLAVE, REPLICATION CLIENT, LOCK TABLES ON *.* TO 'flydata'@'%';
FLUSH PRIVILEGES;
```

## Enable binary logging

Modify the Server parameters,

<Frame>
  <img src="https://mintcdn.com/integrateio/SIDFEDRgXpxG0yrn/images/cdc/sources/image-74.png?fit=max&auto=format&n=SIDFEDRgXpxG0yrn&q=85&s=c424eeea4b893362ed6427a44f8bfa19" alt="Azure MySQL server parameters page with binary logging settings" width="1418" height="1014" data-path="images/cdc/sources/image-74.png" />
</Frame>

Confirm your changes by checking the binlog status,

```sql theme={null}
SHOW GLOBAL VARIABLES LIKE 'log_bin';
```
