Вход на сайт

Просмотр новости

Найдите то, что Вас интересует

Do not uselessly grant CREATE and ALTER TABLE

Дата публикации: 20-06-2026 22:52:52

This lesson should have been learned with the CREATE TABLE of death, but it is worth a refresh.
Do not uselessly grant CREATE and ALTER TABLE
The reason I am posting this reminder is that another crashing bug related to DDL came to my attention.  This bug is only fixed in a recent version of MySQL (probably not affecting 5.6 and 5.7), so if you are running the latest 8.0 or 8.4, you should
Do not uselessly grant CREATE and ALTER TABLE appeared first on MariaDB.org


Основное содержимое страницы с новостью.

This lesson should have been learned with the CREATE TABLE of death, but it is worth a refresh.

Do not uselessly grant CREATE and ALTER TABLE

The reason I am posting this reminder is that another crashing bug related to DDL came to my attention.  This bug is only fixed in a recent version of MySQL (probably not affecting 5.6 and 5.7), so if you are running the latest 8.0 or 8.4, you should be fine.  I am not sharing the detail, I might in the future (like I did for the CREATE TABLE of death).  For triggering it, one need CREATE and ALTER TABLE.

The even more scary thing about this bug / crash is that it is also triggered by a rollback.  So after the crash, when MySQL attempts crash recovery, it crashes again when rolling-back uncommitted transaction.  There might still be a way to recover data with innodb_force_recovery, but it would compromise atomicity and is probably a big hurdle.  In this respect, in addition to being a crashing bug, it can be considered a data corruption bug.

A crash in rollback is non-trivial to recover

I gave a talk about a similar situation at SRECon: Autopsy of a Cascading Outage from a MySQL Crashing Bug.  The slides are self-contained and were appreciated.  If you face this or a similar situation, I hope you have a good backup and can replay binlogs (maybe it is also good time to test backups and binlog replay).

Схожие новости

#Наименование новостиТональностьИнформативностьДата публикации
1Symlinks are Unsafe since MySQL 8.0.39 (and maybe even before)08.2314-04-2026
2Impressed by Disabling InnoDB Redo Logging for Creating Tables as Fast as Possible05.0628-10-2024
3MySQL 8.0.17 GTID Crash Safety Improvement09.2104-08-2026
4Long and Silent / Stressful MySQL Startup with Many Tables05.1911-11-2024
5Faster MySQL Startup with Many Tables (1M+)010.903-09-2024
6Understanding InnoDB Tablespace Duplicate Check (MySQL Startup with Many Tables)04.7619-11-2024
7More than Flushing (also Caching) for innodb_flush_method, and Missing Release Candidate05.425-02-2026
8Lessons From 20 Years Hacking MySQL (Part 1)013.6320-06-2024
9Impact of innodb_file_per_table Option On Crash Recovery Time08.0923-07-2019
10Possibly a bug014.4217-06-2024

Классификация: . Схожих патентов: 0. Схожих новостей: 10. Тональность: 0. Информативность: 9.11. Источник: mariadb.org.