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/mysql/app-development-best-practices.md
+15-15Lines changed: 15 additions & 15 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -25,13 +25,13 @@ Make sure all your dependencies are in the same region when deploying your appli
25
25
26
26
### Keep your MySQL server secure
27
27
28
-
Configure your MySQL server to be [secure](./concepts-security.md) and not accessible publicly. Use one of these options to secure your server:
28
+
Configure your MySQL server to be [secure](single-server/concepts-security.md) and not accessible publicly. Use one of these options to secure your server:
For security, you must always connect to your MySQL server over SSL and configure your MySQL server and your application to use TLS 1.2. See [How to configure SSL/TLS](./concepts-ssl-connection-security.md).
34
+
For security, you must always connect to your MySQL server over SSL and configure your MySQL server and your application to use TLS 1.2. See [How to configure SSL/TLS](single-server/concepts-ssl-connection-security.md).
35
35
36
36
### Use advanced networking with AKS
37
37
@@ -46,17 +46,17 @@ To calculate the largest possible size of `tmp_table_size` and `max_heap_table_s
46
46
`(total memory - (base memory + (sum of per-connection memory * # of connections)) / # of connections`
47
47
48
48
> [!NOTE]
49
-
> Total memory indicates the total amount of memory that the server has across the provisioned vCores. For example, in a General Purpose two-vCore Azure Database for MySQL server, the total memory will be 5 GB * 2. You can find more details about memory for each tier in the [pricing tier](./concepts-pricing-tiers.md) documentation.
49
+
> Total memory indicates the total amount of memory that the server has across the provisioned vCores. For example, in a General Purpose two-vCore Azure Database for MySQL server, the total memory will be 5 GB * 2. You can find more details about memory for each tier in the [pricing tier](single-server/concepts-pricing-tiers.md) documentation.
50
50
>
51
51
> Base memory indicates the memory variables, like `query_cache_size` and `innodb_buffer_pool_size`, that MySQL will initialize and allocate at server start. Per-connection memory, like `sort_buffer_size` and `join_buffer_size`, is memory that's allocated only when a query needs it.
52
52
53
53
### Create non-admin users
54
54
55
-
[Create non-admin users](./how-to-create-users.md) for each database. Typically, the user names are identified as the database names.
55
+
[Create non-admin users](how-to-create-users.md) for each database. Typically, the user names are identified as the database names.
56
56
57
57
### Reset your password
58
58
59
-
You can [reset your password](./how-to-create-manage-server-portal.md#update-admin-password) for your MySQL server by using the Azure portal.
59
+
You can [reset your password](single-server/how-to-create-manage-server-portal.md#update-admin-password) for your MySQL server by using the Azure portal.
60
60
61
61
Resetting your server password for a production database can bring down your application. It's a good practice to reset the password for any production workloads at off-peak hours to minimize the impact on your application's users.
62
62
@@ -66,25 +66,25 @@ Here are a few tools and practices that you can use to help debug performance is
66
66
67
67
### Enable slow query logs to identify performance issues
68
68
69
-
You can enable [slow query logs](./concepts-server-logs.md) and [audit logs](./concepts-audit-logs.md) on your server. Analyzing slow query logs can help identify performance bottlenecks for troubleshooting.
69
+
You can enable [slow query logs](single-server/concepts-server-logs.md) and [audit logs](single-server/concepts-audit-logs.md) on your server. Analyzing slow query logs can help identify performance bottlenecks for troubleshooting.
70
70
71
-
Audit logs are also available through Azure Diagnostics logs in Azure Monitor logs, Azure Event Hubs, and storage accounts. See [How to troubleshoot query performance issues](./how-to-troubleshoot-query-performance.md).
71
+
Audit logs are also available through Azure Diagnostics logs in Azure Monitor logs, Azure Event Hubs, and storage accounts. See [How to troubleshoot query performance issues](single-server/how-to-troubleshoot-query-performance.md).
72
72
73
73
### Use connection pooling
74
74
75
-
Managing database connections can have a significant impact on the performance of the application as a whole. To optimize performance, you must reduce the number of times that connections are established and the time for establishing connections in key code paths. Use [connection pooling](./concepts-connectivity.md#access-databases-by-using-connection-pooling-recommended) to connect to Azure Database for MySQL to improve resiliency and performance.
75
+
Managing database connections can have a significant impact on the performance of the application as a whole. To optimize performance, you must reduce the number of times that connections are established and the time for establishing connections in key code paths. Use [connection pooling](single-server/concepts-connectivity.md#access-databases-by-using-connection-pooling-recommended) to connect to Azure Database for MySQL to improve resiliency and performance.
76
76
77
77
You can use the [ProxySQL](https://proxysql.com/) connection pooler to efficiently manage connections. Using a connection pooler can decrease idle connections and reuse existing connections, which will help avoid problems. See [How to set up ProxySQL](https://techcommunity.microsoft.com/t5/azure-database-for-mysql/connecting-efficiently-to-azure-database-for-mysql-with-proxysql/ba-p/1279842) to learn more.
78
78
79
79
### Retry logic to handle transient errors
80
80
81
-
Your application might experience [transient errors](./concepts-connectivity.md#handling-transient-errors) where connections to the database are dropped or lost intermittently. In such situations, the server is up and running after one to two retries in 5 to 10 seconds.
81
+
Your application might experience [transient errors](single-server/concepts-connectivity.md#handling-transient-errors) where connections to the database are dropped or lost intermittently. In such situations, the server is up and running after one to two retries in 5 to 10 seconds.
82
82
83
-
A good practice is to wait for 5 seconds before your first retry. Then follow each retry by increasing the wait gradually, up to 60 seconds. Limit the maximum number of retries at which point your application considers the operation failed, so you can then further investigate. See [How to troubleshoot connection errors](./how-to-troubleshoot-common-connection-issues.md) to learn more.
83
+
A good practice is to wait for 5 seconds before your first retry. Then follow each retry by increasing the wait gradually, up to 60 seconds. Limit the maximum number of retries at which point your application considers the operation failed, so you can then further investigate. See [How to troubleshoot connection errors](single-server/how-to-troubleshoot-common-connection-issues.md) to learn more.
84
84
85
85
### Enable read replication to mitigate failovers
86
86
87
-
You can use [Data-in Replication](./how-to-data-in-replication.md) for failover scenarios. When you're using read replicas, no automated failover between source and replica servers occurs.
87
+
You can use [Data-in Replication](single-server/how-to-data-in-replication.md) for failover scenarios. When you're using read replicas, no automated failover between source and replica servers occurs.
88
88
89
89
You'll notice a lag between the source and the replica because the replication is asynchronous. Network lag can be influenced by many factors, like the size of the workload running on the source server and the latency between datacenters. In most cases, replica lag ranges from a few seconds to a couple of minutes.
90
90
@@ -141,4 +141,4 @@ To avoid slow queries, you can use indexes. Indexes can help find rows with spec
141
141
142
142
### Use EXPLAIN for your SELECT queries
143
143
144
-
Use the `EXPLAIN` statement to get insights on what MySQL is doing to run your query. It can help you detect bottlenecks or issues with your query. See [How to use EXPLAIN to profile query performance](how-to-troubleshoot-query-performance.md).
144
+
Use the `EXPLAIN` statement to get insights on what MySQL is doing to run your query. It can help you detect bottlenecks or issues with your query. See [How to use EXPLAIN to profile query performance](single-server/how-to-troubleshoot-query-performance.md).
Copy file name to clipboardExpand all lines: articles/mysql/flexible-server/concepts-limitations.md
+4-1Lines changed: 4 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -78,7 +78,10 @@ The following are unsupported:
78
78
- With point-in-time restore, new servers are created with the same compute and storage configurations as the source server it is based on. The newly restored server's compute can be scaled down after the server is created.
79
79
80
80
## Features available in Single Server but not yet supported in Flexible Server
81
-
Not all features available in Azure Database for MySQL - Single Server is available in Flexible Server yet. For complete list of feature comparison between single server and flexible server, refer [choosing the right MySQL Server option in Azure documentation.](../select-right-deployment-type.md#comparing-the-mysql-deployment-options-in-azure)
81
+
Not all features available in Azure Database for MySQL - Single Server is available in Flexible Server yet. For complete list of feature comparison between single server and flexible server, refer [[choosing the right MySQL Server option in Azure documentation](../select-right-deployment-type.md#compare-the-mysql-deployment-options-in-azure)
82
+
83
+
84
+
annot find bookmark '#comparing-the-mysql-deployment-options-in-Azure' in 'articles/mysql/select-right-deployment-type.md', did you mean '#compare-the-mysql-deployment-options-in-Azure'?
0 commit comments