From the lack of comments to my previous post it seems everything is clear with ERROR 1213 in different kinds and forks of MySQL. I may still write a post of two about MyRocks or TokuDB deadlocks one day, but let's get back to my main topic of MySQL bugs. Today I continue my series of posts about community bug reports I am subscribed to with a review of bugs reported in November, 2018, starting from the oldest and skipping those MySQL 8 regression ones I've already commented on. I also skip documentation bugs that should be a topic for a separate post one day (to give more illustration to …[Read more]
10 Older Entries »
For the third year in a row, we will take advantage of the mass presence of our MySQL Engineers during FOSDEM to organize the pre-FOSDEM MySQL Day.
The program of this 3rd edition is already on track, thank you to all the speakers who already confirmed their participation.
|Friday 1st February|
|09:30||10:00||MySQL Community Team Welcome|
It's time to continue my review of MySQL bug reports that I
considered interesting for some reason recently. I had not got
any notable reaction from Oracle engineers to my previous post about recent regression bugs in
MySQL 8.0.13, so probably this topic is not really that hot. In
this boring post I'll just review some bugs I've subscribed to
since August that are still not closed,
starting from the oldest.
Let me start with a couple of bug reports that remain "Open":
- Bug #91959 - "UBSAN: signed integer overflow in lock_update_trx_age". It's really unusual to see bug reported by …
Today I read the nice post of Bhuvanesh on
the memory leak issue they experienced with MySQL. In fact when
you read the post, you realize that MySQL was just following the
parameters that were setup (the default of
max_prepare_stmt_count is 16382
even on 5.6).
In MySQL 8.0, we have enabled the …[Read more]
Oracle released many new MySQL versions back on Monday, but I had
no time during this very busy week to check anything related
(besides the fact that MySQL 8.0.13 can be complied from source on my Fedora 27
box). I am sure you've read a lot about MySQL 8.0.13 elsewhere
already, even patches contributed by Community are already
presented in a separate post by Jesper Krogh.
I am still mostly interested in MySQL 5.7. So, here is my typical quick review of some selected bugs reported in public by MySQL Community users and fixed in MySQL …
We saw in the previous post that MySQL likes memory. We also saw how to perform operating system checks and some configuration changes for Swap and NUMA.
Today, we will check what MySQL server can tell us about its memory usage.
Introduced in MySQL 5.7 and enabled by default in MySQL 8.0, the
Performance_Schema‘s Memory instrumentation allows
us to have a better overview of what MySQL is allocating and why.
Let’s check on our MySQL server using
Pay attention that there is a bug
related to how InnoDB Buffer Pool statistics are accounted in
Performance_Schema. This is fixed in 8.0.13. …
Many of you already know how to retrieve the size of your dataset, schemas and tables in MySQL.
To summarize, below are the different queries you can run:
I the past I was using something like this :
But now with
sys schema being installed by default,
I encourage you to use some of the formatting functions provided
with it. The query to calculate the dataset is now:
SELECT sys.format_bytes(sum(data_length)) DATA, sys.format_bytes(sum(index_length)) INDEXES, sys.format_bytes(sum(data_length + index_length)) 'TOTAL SIZE' FROM information_schema.TABLES ORDER BY data_length + index_length;[Read more]
If you are a MySQL DBA for a long time (like me), it’s very complicated to get rid of bad habits. One of them I really need to change is the way to retrieve the list of all the running queries (processlist).
Usually, I use
SHOW FULL PROCESSLIST which is very
convenient, but like querying the
Information_Schema, this statement has negative
performance consequences because it requires a mutex. Therefore,
you should use
Performance_Schema which doesn’t
require a mutex and has minimal impact on server
Let’s see the output of both commands:
mysql> show full processlist\G *************************** 1. row *************************** Id: 4 User: event_scheduler Host: localhost db: NULL Command: Daemon Time: 376338 State: …[Read more]
So today, I will show you how you can see a list of users that didn’t connect to MySQL since we restarted it (since last reboot).
SELECT DISTINCT mu.user FROM mysql.user mu
LEFT JOIN performance_schema.users psu
ON mu.user = psu.user
WHERE psu.user IS NULL
AND mu.user NOT IN ('mysql.infoschema', 'mysql.session', 'mysql.sys')
ORDER BY mu.user;
mysql> SELECT DISTINCT mu.user FROM mysql.user mu -> LEFT JOIN performance_schema.users psu -> ON mu.user = psu.user -> AND mu.user NOT IN ('mysql.infoschema', 'mysql.session', 'mysql.sys') …[Read more]
Today I am going to provide some details on the last item in my
list of problems with Oracle's way of MySQL server
development, maintenance of MySQL
Manual. I stated that:
"MySQL Manual still have many details missing and is not fixed fast enough.
Moreover, it is not open source..."Let me explain the above:
- MySQL Reference Manual is not open source. It used to be built from DocBook XML sources. Probably that's still the case. But you can not find the source code in open repositories (please, correct me if I am wrong, I tried to search...) That's because it is NOT open source. It says this clearly in …
10 Older Entries »