MySQL HeatWave Lakehouse is now available on AWS, enabling AWS customers to run transaction processing, real-time analytics across data warehouses and data lakes, and machine learning in one cloud database service. They can replace five AWS services with one, reducing complexity and obtaining the best price-performance in the industry for analytics.
Learn how to copy a MySQL instance to another server or to the cloud.
To copy a MySQL server to another server or to the cloud, there are several ways.
We can distinguish between two different types of copy:
- physical copy
- logical copy
The physical copy is often the fastest. However, it requires some tools to ensure that you have a consistent online backup. For example, you can use MySQL Enterprise Backup (MEB).
Alternatively, it’s possible to use the CLONE plug-in to provision a new instance with existing data from a source server. This is my preferred approach.
Finally, the last physical solution is the use of a file system snapshot, but this requires the right infrastructure and even more care to have a consistent …
[Read more]Whenever you install your favorite MySQL server on a freshly created Ubuntu instance, you start by updating the configuration for MySQL, such as configuring buffer pool, changing the default datadir director, and disabling one of the most outstanding features – query cache. It’s a nice thing to do, but first things first. Let’s review the best practices we usually follow in Managed Services before using your MySQL server in production and stage env, even for home play purposes.
Memory
Our usual recommendation is to use specific memory parameters, which we suggest to ensure optimal performance.
- To prevent out-of-memory (OOM) episodes, the OOM Score has to be set to -800.
- vm.swappiness = 1
- Disable Transparent Huge Pages
- Install and enable jemalloc. Let’s briefly go through each setting to understand why adjustments are needed. Afterward, we will see how to configure these …
Scaling a database presents challenges. As you grow, you might begin having trouble handling ever-increasing throughput or data size. You might find that query latency is getting worse. You might be pushing the limits of your hardware. When this happens, a classic option is vertically scaling your database by getting better hardware, but is there a better way? And what happens when you reach the vertical limits? This is where horizontal sharding comes in. In this article, we'll cover some common indicators that your database may be ready for horizontal sharding. We'll also look at some measures you can implement until then. Let's dig in. Hitting the limits There are lots of different limits that you can run into when you're scaling up. At the database level, you might be maxing out CPU, memory, disk space, or IOPS. Running into these limits can have real consequences for your business. Database operations like schema changes will start taking longer, …
[Read more]OpenLampTech continues to publish great content for the PHP, MySQL, LAMP stack, and open-source communities. This week, I (am resharing) have another awesome text-based developer interview for you with Wendell Adriel. Thanks for reading!
The Newsletter for PHP and MySQL Developers
Receive a copy of my ebook, “10 MySQL Tips For Everyone”, absolutely free when you subscribe to the OpenLampTech newsletter.
Visit and read Wendell’s fantastic interview here: https://openlamptech.substack.com/p/openlamptech-developer-interview-18d
If you’re not already …
[Read more]This is the second blog in the series where I talk about INSTANT ADD/DROP columns feature introduced in MySQL 8.0. After the introductory Blog, this blog aims to provide more design details.
This blog post discusses the limitations of the MySQL Clone plugin.
The MySQL clone plugin significantly simplifies the process of replica provisioning. All you need to do is:
- Ensure that the source server has binary logs enabled
- Grant appropriate permissions
- Execute the CLONE INSTANCE command on the recipient
This works extremely easily when you provision a new replica that doesn’t have any data.
Due to its simplicity, you may want to use the clone plugin instead of a backup to restore a server that survives data inconsistency or corruption. E.g., after crash.
However, if you have data on your replica, you need to consider how you will recover if the CLONE INSTANCE command fails with an error.
CLONE INSTANCE command, by default, works as follows:
- Checks prerequisites on the replica
- Wipes out data …
As MySQL database administrators, we are well aware of the significance of implementing a primary key within a table. Throughout our careers, most of us have encountered situations where the absence of a primary key has led to operational challenges. Primary keys play an indispensable role in sound database design by uniquely identifying individual rows and significantly enhancing data retrieval, manipulation, and overall system performance.
From the MySQL documentation:
The PRIMARY KEY clause is a critical factor affecting the performance of MySQL queries and the space usage for tables and indexes. The primary key uniquely identifies a row in a table. Every row in the table should have a primary key value, and no two rows can have the same primary key value.
It is common for tables to be inadvertently created without a primary key, often leading to regrettable consequences that we only recognize when issues …
[Read more]ProxySQL is a high-performance SQL proxy, which runs as a daemon watched by a monitoring process. The process monitors the daemon and restarts it in case of a crash to minimize downtime.
The daemon accepts incoming traffic from MySQL clients and forwards it to backend MySQL servers.
The proxy is designed to run continuously without needing to be restarted. Most configurations can be done at runtime using queries similar to SQL statements in the ProxySQL admin interface. These include runtime parameters, server grouping, and traffic-related settings.
Here, we will consider ProxySQL configured for async replication. Even when a replica is broken/stopped, ProxySQL still routes connections to replicas. It can be overcome by setting the appropriate value for mysql-monitor_slave_lag_when_null
…
[Read more]