Yesterday, my colleague, Fred (AKA LeFred), shared a blog post that discusses setting up aliases that allow us to run MySQL Shell when we enter mysql at a command prompt. Since I also use Windows regularly, I wanted to share how you can set up those same aliases in Windows PowerShell. We need to update our profile script to create permanent aliases in […]
The latest from the MySQL community
Ideas, releases, practical guides, and perspectives from the people building with MySQL.
While the LAMP stack – Linux/Apache/MySQL/PHP – is not the dominant platform it was a decade ago, there are still many websites that depend on it. One of the pillars of this quartet had a milestone last week when PHP 8.0 passed into End Of Life status. While it will still have limited security issue support for another year, 8.0 should be phased out of your environments.
By the way, 8.1 has another year until it reaches End of Life status.
So please update your PHP 8.0 as soon as you can, double check the connector you are using to access your database is updated too, and make sure you are ready for 8.1’s future.
And make sure that if you are currently running MySQL 5.7 that you upgrade by October 2023 when it too reaches End of Life.
The Primary key is like the hero of a row, which has more beneficial features in the table while performing any task on the table.
The DBA knows the importance of the primary key in the table and how to handle it.
[Read more]We all know that data is important, and some businesses need historical data to be available all the time. The problem is that queries on large tables perform poorly if they are not properly optimized. We get many customer requests in Managed Services to purge/archive large tables, and to achieve it, we use pt-archiver.
Recently, we received a request to archive a large table, and the customer was worried about the downtime and performance issues during the archival.
We proposed a solution to the customer to archive the table using pt-archive. The idea is to archive old data to other tables and keep the latest data on the current table with minimal performance issues. All of the data will remain available and can be queried anytime.
In the blog, I will …
[Read more]Codership is pleased to announce a new Generally Available (GA) release of the multi-master Galera Cluster for MySQL 8.0, consisting of MySQL-wsrep 8.0.30 (release notes, download) with Galera replication library 4.13 (release notes, download) implementing wsrep API version 26. This release incorporates all changes to MySQL 8.0.30, adding a synchronous option for your MySQL High Availability solutions.
For the Galera replication library 4.13, we now complete the I/O for the client handshake before starting an asynchronous read to fix …
[Read more]One thing I commonly hear when working with my clients is “I want to change my DDL strategy in order to avoid locking in my database! The last time I used the same old method I ended up in a metadata lock situation!”
I agree that metadata locks can be painful, but unfortunately, it’s completely unavoidable, and changing from one tool to another won’t help with this. That said, it’s still worth it to examine how metadata locks work and what the impact is for each of the common tools and processes. In doing so we will see that all these tools will require metadata locks, but knowing more about how they work and how the use locking can help us determine the right tool for your specific use case.
Any time you make a change to a table a metadata lock is needed to ensure consistency between the table itself and MySQL’s data dictionary. In order for MySQL to establish this lock it has to wait for any query against the table in …
[Read more]What is dual password in MYSQL and how it works was already covered by my colleague Brian Sumpter in Using MySQL 8 Dual Passwords.
However, let me do a brief recap here about it.
Dual password is the MySQL mechanism that allows you to keep two passwords active at the same time. This feature is part of a more extended set of password management features implemented in MySQL 8 to enforce better security and secrets management, like:
- Internal Versus External Credentials Storage
- Password Expiration Policy
- Password Reuse Policy
- Password Verification-Required Policy
- Dual Password Support
- Random Password Generation
- Failed-Login Tracking and Temporary Account Locking
The most important and requested features are the password expiration and …
[Read more]What is dual password in MYSQL and how it works was already covered by my colleague Brian Sumpter here (https://www.percona.com/blog/using-mysql-8-dual-passwords/).
However let me do a brief recap here about it.
Dual password is the MySQL mechanism that allows you to keep two passwords active at the same time. This feature is part of a more extended set of Password management features implemented in MySQL 8 to enforce better security and secrets management, like:
- Internal Versus External Credentials Storage
- Password Expiration Policy
- Password Reuse Policy
- Password Verification-Required Policy
- Dual Password Support
- Random Password Generation
- Failed-Login Tracking and Temporary Account Locking
The most important and requested features …
[Read more]Every day we use dozens if not hundreds of applications connecting to some kind of data repository. This simple step is normally executed over the network and, given so, it is subject to possible sniffing with all the possible related consequences.
Given that, it is normally better to protect your connection using data encryption like SSL, or at the minimum, make the information you pass to connect less easy to be intercepted.
At the same time, it is a best practice to not store connection credentials in clear text, not even inside a table in your database. Doing that is the equivalent of writing your password on a sticky note on your desk. Not a good idea.
Instead, the main options are either transforming the passwords to be less identifiable via hashing or storing the information in an external centralized vault.
In MySQL, the passwords are transformed to not be clear text, and several different plugins …
[Read more]
In our time, every day we use dozens if not hundreds of
applications connecting to some kind of data repository. This
simple step is normally executed over the network and
given so, it is subject to possible sniffing with all the
possible related consequences.
Given that it is normally better to protect your connection using data encryption like SSL, or at the minimum, make the information you pass to connect less easy to be intercepted.
At the same time it is best practice to not store connection credential in clear text, not even inside a table in your database. Doing that is the equivalent of writing your password over a sticky note on your desk. Not a good idea.
The main options are instead in either transforming the passwords to be less identifiable like hashing or to store the information in an external centralized vault.
In MySQL the passwords are transformed in order to not be clear …
[Read more]