You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: articles/dms/concepts-migrate-azure-mysql-replicate-changes.md
+3-1Lines changed: 3 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -25,13 +25,14 @@ You must run an offline migration scenario with "Enable Transactional Consistenc
25
25
26
26
While running the replicate changes migration, when your target is almost caught up with the source server, stop all incoming transactions to the source database and wait until all pending transactions have been applied to the target database. To confirm that the target database is up-to-date on the source server, run the query 'SHOW MASTER STATUS;', then compare that position to the last committed binlog event (displayed under Migration Progress). When the two positions are the same, the target has caught up with all changes, and you can start the cutover.
27
27
28
+
28
29
### How Replicate Changes works
29
30
30
31
The current implementation is based on streaming binlog changes from the source server and applying them to the target server. Like Data-in replication, this is easier to set up and doesn't require a physical connection between the source and the target servers.
31
32
32
33
The server can send Binlog as a stream that contains binary data as documented [here](https://dev.mysql.com/doc/dev/mysql-server/latest/page_protocol_replication.html). The client can specify the initial log position to start the stream with. The log file name describes the log position, the position within that file, and optionally GTID (Global Transaction ID) if gtid mode is enabled at the source.
33
34
34
-
The data changes are sent as "row" events, which contain data for individual rows (prior and/or after the change depending on the operation type, which is insert, delete, or update). The row events are then applied in their raw format using a BINLOG statement: [MySQL 8.0 Reference Manual :: 13.7.8.1 BINLOG Statement](https://dev.mysql.com/doc/refman/8.0/en/binlog.html).
35
+
The data changes are sent as "row" events, which contain data for individual rows (prior and/or after the change depending on the operation type, which is insert, delete, or update). The row events are then applied in their raw format using a BINLOG statement: [MySQL 8.0 Reference Manual :: 13.7.8.1 BINLOG Statement](https://dev.mysql.com/doc/refman/8.0/en/binlog.html). But for a DMS migration to a 5.7 server, DMS doesn’t apply changes as BINLOG statements (since DMS doesn’t have necessary privileges to do so) and instead translates the row events into INSERT, UPDATE, or DELETE statements.
35
36
36
37
## Prerequisites
37
38
@@ -49,6 +50,7 @@ To complete the replicate changes migration successfully, ensure that the follow
49
50
- When performing a replicate changes migration, the name of the database on the target server must be the same as the name on the source server.
50
51
- Support is limited to the ROW binlog format.
51
52
- DDL changes replication is supported only when you have selected the option for migrating entire server on DMS UI.
53
+
- Renaming databases or tables is not supported when replicating changes.
Copy file name to clipboardExpand all lines: articles/dms/known-issues-azure-mysql-fs-online.md
+4-4Lines changed: 4 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -94,17 +94,17 @@ One or more incompatible SQL modes can cause many different errors. Below is an
94
94
95
95
-**Error**: An error occurred as referencing table cannot be found.
96
96
97
-
**Potential error message**: The pipeline was unable to create the schema of object '{object}' for activity '{activity}' using strategy MySqlSchemaMigrationViewUsingTableStrategy because of a query execution.
97
+
**Potential error message**: The pipeline was unable to create the schema of object '{object}' for activity '{activity}' using strategy MySqlSchemaMigrationViewUsingTableStrategy because of a query execution.
98
98
99
-
**Limitation**: The error can occur when the view is referring to a table that has been deleted or renamed, or when the view was created with incorrect or incomplete information.
99
+
**Limitation**: The error can occur when the view is referring to a table that has been deleted or renamed, or when the view was created with incorrect or incomplete information. This error can happen if a subset of tables are migrated, but the tables they depend on are not.
100
100
101
-
**Workaround**: We recommend migrating views manually.
101
+
**Workaround**: We recommend migrating views manually. Check if all tables referenced in foreign keys and CREATE VIEW statements are selected for migration.
102
102
103
103
## All pooled connections broken
104
104
105
105
-**Error**: All connections on the source server were broken.
106
106
107
-
**Limitation**: The error occurs when all the connections that are acquired at the start of initial load are lost due to server restart, network issues, heavy traffic on the source server or other transient problems. This error isn't recoverable.
107
+
**Limitation**: The error occurs when all the connections that are acquired at the start of initial load are lost due to server restart, network issues, heavy traffic on the source server or other transient problems. This error isn't recoverable. Additionally, this error occurs if an attempt to migrate a server is made during the maintenance window.
108
108
109
109
**Workaround**: The migration must be restarted, and we recommend increasing the performance of the source server. Another issue is scripts that kill long running connections, prevents these scripts from working.
In-place automigration from Azure Database for MySQL – Single Server to Flexible Server is a service-initiated in-place migration during planned maintenance window for Single Server database workloads with Basic or General Purpose SKU, data storage used < 10 GiB and no complex features enabled. The eligible servers are identified by the service and are sent an advance notification detailing steps to review migration details.
16
+
**In-place automigration** from Azure Database for MySQL – Single Server to Flexible Server is a service-initiated in-place migration during planned maintenance window for Single Server database workloads with **Basic or General Purpose SKU**, data storage used **< 10 GiB** and **no complex features (CMK, AAD, Read Replica, Private Link) enabled**. The eligible servers are identified by the service and are sent an advance notification detailing steps to review migration details.
17
17
18
-
The in-place migration provides a highly resilient and self-healing offline migration experience during a planned maintenance window, with less than 5 mins of downtime. It uses backup and restore technology for faster migration time. This migration removes the overhead to manually migrate your server and ensure you can take advantage of the benefits of Flexible Server, including better price & performance, granular control over database configuration, and custom maintenance windows. Following described are the key phases of the migration:
18
+
The in-place migration provides a highly resilient and self-healing offline migration experience during a planned maintenance window, with less than **5 mins** of downtime. It uses backup and restore technology for faster migration time. This migration removes the overhead to manually migrate your server and ensure you can take advantage of the benefits of Flexible Server, including better price & performance, granular control over database configuration, and custom maintenance windows. Following described are the key phases of the migration:
19
19
20
-
* Target Flexible Server is deployed, inheriting all feature set and properties (including server parameters and firewall rules) from source Single Server. Source Single Server is set to read-only and backup from source Single Server is copied to the target Flexible Server.
21
-
* DNS switch and cutover are performed successfully within the planned maintenance window with minimal downtime, allowing maintenance of the same connection string post-migration. Client applications seamlessly connect to the target flexible server without any user driven manual updates. In addition to both connection string formats (Single and Flexible Server) being supported on migrated Flexible Server, both username formats – username@server_name and username are also supported on the migrated Flexible Server.
22
-
* The migrated Flexible Server is online and can now be managed via Azure portal/CLI. Stopped Single Server is deleted post days set as it's Backup Retention Period.
20
+
***Target Flexible Server is deployed**, inheriting all feature set and properties (including server parameters and firewall rules) from source Single Server. Source Single Server is set to read-only and backup from source Single Server is copied to the target Flexible Server.
21
+
***DNS switch and cutover** are performed successfully within the planned maintenance window with minimal downtime, allowing maintenance of the same connection string post-migration. Client applications seamlessly connect to the target flexible server without any user driven manual updates. In addition to both connection string formats (Single and Flexible Server) being supported on migrated Flexible Server, both username formats – username@server_name and username are also supported on the migrated Flexible Server.
22
+
* The **migrated Flexible Server is online** and can now be managed via Azure portal/CLI. Stopped Single Server is deleted post days set as it's Backup Retention Period.
23
23
24
24
> [!NOTE]
25
-
> In-place migration is only for Single Server database workloads with Basic or GP SKU, data storage used < 10 GiB and no complex features enabled. All other Single Server workloads are recommended to use user-initiated migration tooling offered by Azure - Azure DMS, Azure MySQL Import to migrate.
25
+
> In-place migration is only for Single Server database workloads with Basic or GP SKU, data storage used < 10 GiB and no complex features (CMK, AAD, Read Replica, Private Link) enabled. All other Single Server workloads are recommended to use user-initiated migration tooling offered by Azure - Azure DMS, Azure MySQL Import to migrate.
26
26
27
27
## Configure migration alerts and review migration schedule
28
28
@@ -31,23 +31,23 @@ Servers eligible for in-place automigration are sent an advance notification by
31
31
Following described are the ways to check and configure automigration notifications:
32
32
33
33
* Subscription owners for Single Servers scheduled for automigration receive an email notification.
34
-
* Configure service health alerts to receive in-place migration schedule and progress notifications via email/SMS by following steps [here](../single-server/concepts-planned-maintenance-notification.md#to-receive-planned-maintenance-notification).
35
-
* Check the in-place migration notification on the Azure portal by following steps [here](../single-server/concepts-planned-maintenance-notification.md#check-planned-maintenance-notification-from-azure-portal).
34
+
* Configure **service health alerts** to receive in-place migration schedule and progress notifications via email/SMS by following steps [here](../single-server/concepts-planned-maintenance-notification.md#to-receive-planned-maintenance-notification).
35
+
* Check the in-place migration **notification on the Azure portal** by following steps [here](../single-server/concepts-planned-maintenance-notification.md#check-planned-maintenance-notification-from-azure-portal).
36
36
37
37
Following described are the ways to review your migration schedule once you have received the in-place automigration notification:
38
38
39
39
> [!NOTE]
40
40
> The migration schedule will be locked 7 days prior to the scheduled migration window after which you’ll be unable to reschedule.
41
41
42
-
* The Single Server overview page for your instance displays a portal banner with information about your migration schedule.
43
-
* For Single Servers scheduled for automigration, a new Migration blade is lighted on the portal. You can review the migration schedule by navigating to the Migration blade of your Single Server instance.
42
+
* The S**ingle Server overview page** for your instance displays a portal banner with information about your migration schedule.
43
+
* For Single Servers scheduled for automigration, a new **Migration blade** is lighted on the portal. You can review the migration schedule by navigating to the Migration blade of your Single Server instance.
44
44
* If you wish to defer the migration, you can defer by a month at a time by navigating to the Migration blade of your single server instance on the Azure portal and rescheduling the migration by selecting another migration window within a month.
45
-
* If your Single Server has General Purpose SKU, you have the other option to enable High Availability when reviewing the migration schedule. As High Availability can only be enabled during create time for a MySQL Flexible Server, it's highly recommended that you enable this feature when reviewing the migration schedule.
45
+
* If your Single Server has **General Purpose SKU**, you have the other option to enable **High Availability** when reviewing the migration schedule. As High Availability can only be enabled during create time for a MySQL Flexible Server, it's highly recommended that you enable this feature when reviewing the migration schedule.
46
46
47
47
## Pre-requisite checks for in-place auto-migration
48
48
49
-
* The Single Server instance should be in ready state and should not be in stopped state during the planned maintenance window for automigration to take place.
50
-
* For Single Server instance with SSL enabled, ensure you have both certificates (BaltimoreCyberTrustRoot & DigiCertGlobalRootG2 Root CA) available in the trusted root store. Additionally, if you have the certificate pinned to the connection string create a combined CA certificate before scheduled auto-migration by following steps [here](../single-server/concepts-certificate-rotation.md#create-a-combined-ca-certificate) to ensure business continuity post-migration.
49
+
* The Single Server instance should be in **ready state** and should not be in stopped state during the planned maintenance window for automigration to take place.
50
+
* For Single Server instance with **SSL enabled**, ensure you have both certificates (**BaltimoreCyberTrustRoot & DigiCertGlobalRootG2 Root CA**) available in the trusted root store. Additionally, if you have the certificate pinned to the connection string create a combined CA certificate before scheduled auto-migration by following steps [here](../single-server/concepts-certificate-rotation.md#create-a-combined-ca-certificate) to ensure business continuity post-migration.
51
51
* The MySQL engine doesn't guarantee any sort order if there is no 'SORT' clause present in queries. Post in-place automigration, you may observe a change in the sort order. If preserving sort order is crucial, ensure your queries are updated to include 'SORT' clause before the scheduled in-place automigration.
52
52
53
53
## How is the target MySQL Flexible Server auto-provisioned?
@@ -69,7 +69,7 @@ Following described are the ways to review your migration schedule once you have
* The MySQL version, region, *storage size, subscription and resource group for the target Flexible Server is same as that of the source Single Server.
72
-
*For Single Servers with less than 20 GiB storage, the storage size is set to 20 GiB as that is the minimum storage limit on Azure Database for MySQL - Flexible Server.
72
+
*For Single Servers with less than 20 GiB storage, the storage size is set to 20 GiB as that is the minimum storage limit on Azure Database for MySQL - Flexible Server.
73
73
* Both username formats – username@server_name (Single Server) and username (Flexible Server) are supported on the migrated Flexible Server.
74
74
* Both connection string formats – Single Server and Flexible Server are supported on the migrated Flexible Server.
75
75
@@ -95,7 +95,7 @@ Copy the following properties from the source Single Server to target Flexible S
95
95
96
96
**Q. How can I set up or view in-place migration alerts?**
97
97
98
-
**A.**
98
+
**A.** Following are the ways you can set up alerts :
99
99
100
100
* Configure service health alerts to receive in-place migration schedule and progress notifications via email/SMS by following steps [here](../single-server/concepts-planned-maintenance-notification.md#to-receive-planned-maintenance-notification).
101
101
* Check the in-place migration notification on the Azure portal by following steps [here](../single-server/concepts-planned-maintenance-notification.md#check-planned-maintenance-notification-from-azure-portal).
@@ -106,7 +106,7 @@ Copy the following properties from the source Single Server to target Flexible S
106
106
107
107
**Q. What are some post-migration activities I need to perform?**
108
108
109
-
**A.**
109
+
**A.** Following are some post-migration activities :
110
110
111
111
* Monitoring page settings (Alerts, Metrics, and Diagnostic settings)
112
112
* Any Terraform/CLI scripts you host to manage your Single Server instance should be updated with Flexible Server references.
Copy file name to clipboardExpand all lines: articles/mysql/migrate/migrate-single-flexible-mysql-import-cli.md
+3-1Lines changed: 3 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -158,6 +158,7 @@ iops | 500 | Number of IOPS to be allocated for the target Azure Database for My
158
158
## How long does MySQL Import take to migrate my Single Server instance?
159
159
160
160
Below is the benchmarked performance based on storage size.
161
+
161
162
| Single Server Storage Size | MySQL Import time |
162
163
| ------------- |:-------------:|
163
164
| 1 GiB | 0 min 23 secs |
@@ -170,8 +171,9 @@ Below is the benchmarked performance based on storage size.
170
171
From the table above, as the storage size increases, the time required for data copying also increases, almost in a linear relationship. However, it's important to note that copy speed can be significantly impacted by network fluctuations. Therefore, the data provided here should be taken as a reference only.
171
172
172
173
Below is the benchmarked performance based on varying number of tables for 10 GiB storage size.
174
+
173
175
| Number of tables in Single Server instance | MySQL Import time |
0 commit comments