# Adding Read Replica

A Read Replica is a read-only copy of your Primary MySQL DB instance. By routing read-only queries (such as SELECT statements) to the replica, you can offload traffic from your primary instance, thereby improving overall performance and scalability.

Tessell leverages MySQL's native Group Replication to create and manage read replicas. Data is replicated asynchronously from the primary DB instance to its read replicas. Tessell also supports read replicas across multiple Availability Zones (AZs) within the same region and even across different regions. You can create read replicas in different Region to scale read operations into a Region closer to your users.

The following diagram shows creating a Read Replica in different Availability Zone within the same Region:

<figure><img src="/files/4uUcSdGUVLg643WqGsTE" alt="" width="563"><figcaption></figcaption></figure>

The following diagram shows creating a cross region Read Replica:

<figure><img src="/files/OtGMBxls7hpCDD5NQBRF" alt="" width="563"><figcaption></figcaption></figure>

***

### Prerequisites

Before creating a Read Replica, ensure the following:

* A MySQL DB service must already be provisioned.
* Every table in the database must have a primary key or an equivalent unique key (a requirement for MySQL Group Replication).
* Every table must use the InnoDB storage engine.

***

### Steps to Create a Read Replica (RR)

Follow the steps below to create a Read Replica using the Tessell Console:

1. Sign in to the Tessell Console.
2. From the left navigation pane, go to **DB Services** and open the **My Services** App.
3. Locate and select your MySQL DB service for which you want to create a read replica.
4. Navigate to the **Instances** tab.
5. Click **Create Replica** in the right-hand pane, then select **Read Only Replica** from the dropdown list.
6. Fill the required details:

   1. **Instance Name**: Specify a unique name for the read replica.
   2. **Region**: Select the destination region where the read replica should be created.
   3. **Availability Zone**: Choose your preferred AZ within the selected region.
   4. **VPC/VNet**: Select the Virtual Private Cloud (VPC) or network.
   5. **Private Subnet**: Choose the subnet for the replica.

   <figure><img src="/files/DsA7uB0BAoN2uhycpL05" alt=""><figcaption></figcaption></figure>
7. Click **Add Instance** to start the replica creation process.

After the replica is successfully created, navigate back to the **Instances** page in the Tessell Console. The newly added instance appears in the list with the **Role** column indicating as **Read Replica**.

***

### Limitations

* Replicas can only be created after the MySQL DB service is provisioned.
* Promotion of a Read Replica to a standalone instance is not currently supported in Tessell.
* A Read Replica must use the same parameter profile as the primary DB instance.
* A Read Replica must use the same option profile as the primary DB instance.
* A Read Replica must use the same compute shape (vCPU and memory configuration) as the primary DB instance.
* Read Replicas cannot be used for write operations; only read queries are supported.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.tessell.com/tessell/tessell-for-mysql/db-services/adding-read-replica.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
