The MySQL 8.0.16 Release Notes are very
interesting and sadly not read enough. One thing that may have
escaped attention is that you no longer have to run
mysql_upgrade after updating the binaries.
Let me repeat: you no longer have to
run mysql_upgrade after updating the
binaries.
From the release notes:
Previously, after installation of a new version of MySQL, the
MySQL server automatically upgrades the data dictionary tables at
the next startup, after which the DBA is expected to invoke
mysql_upgrade manually to upgrade the system tables in the mysql
schema, as well as objects in other schemas such as the sys
schema and user schemas.
The server, starting 8.0.16, does the work previously done by
mysql_upgrade for itself. And mysql_upgrade
itself is …
So over the years, we all learn more and more about what we like
and use often in MySQL.
Currently, I step in and out of a robust about of different
systems. I love it being able to see how different companies use
MySQL. I also see several aspect and settings that often
get missed. So here are a few things I think should always be set
and they not impact your MySQL database.
At a high level:
- >Move the Slow log to a table
- Set report_host_name
- Set master & slaves to use tables
- Turn off log_queries_not_using_indexes until needed
- Side note -- USE ALGORITHM=INPLACE
- Side note -- USE mysql_config_editor
- Side note -- USE mysql_upgrade --upgrade-system-tables
Move the Slow log to a …
I have been meaning to update some systems to MariaDB 10.0 and finally had a bit of time to get around to that. The documentation of specifics of what’s needed to go from MariaDB 5.5 to 10.0 can be found here and while it’s not very long it seems there’s little to actually do. Having already … Continue reading MariaDB 10.0 upgrade goes smoothly
Another obscure issue I ran into not long ago was when using MySQL Workbench, and clicking on a table, it became stuck in fetching mode.
What triggered the issue was a recent MySQL upgrade, but MySQL itself, not Workbench.
After checking the error log, we saw an error like:
Incorrect definition of table mysql.proc: expected column 'comment' at position 15 to have type text, found type char(64)
Instantly, I knew mysql_upgrade needed to be ran in order to fix the “Incorrect definition” issue, and turns out that is the root cause for Workbench getting stuck in the “fetching” mode.
So the solution is to run mysql_upgrade. Should that not fix the table for some reason, then you can also fix it alternatively with:
ALTER TABLE mysql.proc MODIFY `comment` text CHARACTER SET utf8 COLLATE utf8_bin NOT NULL; FLUSH TABLES;
Hope this helps.