Showing entries 11 to 20 of 36698
« 10 Newer Entries | 10 Older Entries »
MySQL 8.0: Testing Improvements

The first DMR of MySQL 8 was recently released. While a DMR (or Developer Milestone Release) is not yet a GA product, it does come with our commitment that each feature has been tested and qualified for inclusion.

In MySQL 8.0 we have made additional improvements to the MySQL test framework (MTR) and the test suite.…

Watch the replay: MySQL Query Tuning Part 2 - Indexing and EXPLAIN

We’ve just completed Part 2 of our webinar trilogy on MySQL Query Tuning this week and if you didn’t get the chance to join us for the live sessions (or would like to watch them again), the recording is now available to view online as a replay.

As announced in our communications, these webinars are almost 1.5hrs long, as the content is quite dense (and we got some great questions from participants as well), so be sure to make sufficient time available to watch the replay ;-)

Watch the replay

About 40% of our audience indicated that they currently either use MySQL / Percona Server 5.5 (or earlier), MySQL / Percona Server 5.6 or MariaDB 10.1, so it was an interesting mix. We also found that the majority of participants don’t have a process to check for unused indexes, which was a good opportunity to …

[Read more]
New UUID functions in MySQL 8.0.0

MySQL 8.0.0 introduces three new miscellaneous UUID functions of IS_UUID(), UUID_TO_BIN() and BIN_TO_UUID() joining the UUID() (in 5.0) and UUID_SHORT() (in 5.1) functions. See 8.0.0 Release Notes.

Thanks to the great work and hosting by Marcus Popp anybody can test out the SQL syntax of MySQL 8.0.0 using db4free without installing anything. If you want a minimal install Giuseppe Maxia provides docker minimal images of 5.0+ versions …

[Read more]
Optimizing VividCortex’s Samples View: Part 2

A few weeks ago, I wrote a blog post explaining how sketch sampling methods can be employed to achieve fast 30-day data visibility for monitoring users. The problem we faced was that with that standard of retention, we’ve frequently seen systems that involve nearly a million query samples in a 30-day window, meaning that special solutions are needed in order to avoid overloading users’ browsers.

The solution we’ve found lies in a hash ordering that's proven to be both surprisingly simple and efficient. In this Part 2 post, I’ll look at why it works so well.

Ordering with a Hash

VividCortex’s query samples are stored in MySQL tables. The simplified schema definition looks like this:

[Read more]
7 Fresh Bugs in MySQL 8.0

This blog post will look at seven bugs in MySQL 8.0.

Friday afternoon is always ideal for a quick look at the early quality of MySQL 8.0! Last Friday, I did just that.

If you haven’t heard the news yet, MySQL 8.0 DMR is available for download on!

Tools to the ready: pquery2, updated 8.0 compatible scripts in Percona-qa and some advanced regex to wade through the many cores generated by the test run. For those of you who know and use, this should mean a lot!

[09:41:50] [21492] ====== TRIAL …
[Read more]
Three wishes for a new year

(Almost) another new year by Jewish calendar. What do I wish for the following year?

  1. World peace
  2. Good health to all
  3. Relaxed GTID constraints

I'm still not using GTID, and still see operational issues with working with GTID. As a latest example, our new schema migration solution, gh-ost, allows us to test migrations in production, on replicas. The GTID catch? gh-ost has to write something to the binary log. Thus, it "corrupts" the replica with a bogus GTID entry that will never be met in another server, thus making said replica unsafe to promote. We can work around this, but...

I understand the idea and need for the Executed GTID Set. It will certainly come in handy with multi-writer InnoDB Cluster. However for most use cases GTID poses a burden. The reason is that our topologies are imperfect, and we as humans are imperfect, and operations are …

[Read more]
View Galera Cluster Best Practices Webinar Replay Part One!

Codership’s Galera Cluster Best Practices Webinar for MySQL DBAs and DevOps Part One is now available to watch here and MySQL 8.0 was born in 2005 (which makes it older than Twitter or Google Chrome) when MySQL 5.0 was in early development. 11 years went by but one thing always remained the same: the 5 in MySQL’s major version number. MySQL versions went from 5.0 to 5.1 to 5.5, 5.6 and recently to 5.7. There was always this 5.something.

While this 5 will stay around for a bit longer, it is not alone anymore.

Now there is a duplicate of the website at

where you can create a database on a newly set up MySQL 8.0 server!

MySQL 8.0 is in very early development, the first Development Milestone Release (MySQL 8.0.0 DMR) has just been released on September, 12. It will take several months until there will be a final release. makes it easy to try new features early. The …

[Read more]
Two Database Sharding Tools for MySQL

In a previous blog post we discussed several approaches to sharding. The most flexible one, sharding using metadata, is also the most complex one to implement. You need to design the meta-database, and build high availability not only for your application data but also for the metadata. On top of that, you need to design your application so it will be aware of the complex database infrastructure beneath - it has to query metadata first and then it has to be directed to a correct shard to read or write data. You will also have to build tools to manage and maintain the metadata. Migrating data requires caution so it has to be done carefully. You also have to make sure that any operations on the production databases are mirrored in the metadata. For instance, have you taken a slave out of rotation? This should be reflected in the metadata. Have you added a new …

[Read more]
Using the super_read_only system variable

This blog post will discuss how to use the MySQL super_read_only system variable.

It is well known that replica servers in a master/slave configuration, to avoid breaking replication due to duplicate keys, missing rows or other similar issues, should not receive write queries. It’s a good practice to set


 on slave servers to prevent any (accidental) writes. Servers acting as replicas will NOT be in read-only mode automatically by default.



 has an historical issue: users with the SUPER privilege can override the setting and could still run DML queries. Since Percona Server 5.6.21 and MySQL 5.7.8, however, you can use the


 feature to extend the

read_only …
[Read more]
Showing entries 11 to 20 of 36698
« 10 Newer Entries | 10 Older Entries »