Bug #38351 nullable changes to CSV engine break slow_log table, mysql_upgrade does not fix
Submitted: 24 Jul 2008 14:05 Modified: 24 Jul 2008 16:58
Reporter: Monty Taylor Email Updates:
Status: Verified Impact on me:
Category:MySQL Server: Command-line Clients Severity:S3 (Non-critical)
Version:5.1.26 OS:Any
Assigned to: CPU Architecture:Any

[24 Jul 2008 14:05] Monty Taylor
Running 5.1.22 master and slave. Upgraded slave to 5.1.26. Truncated the slow_log on the master. Replication stopped because the command failed on slave with:

Error 'The storage engine for the table doesn't support nullable columns' on query. Default database: ''. Query: 'truncate table mysql.slow_log'

Turned out the table in 5.1.22 is defined with some columns set as "DEFAULT NULL", which triggers the problem in 5.1.26. 

Tried running mysql_upgrade. No luck. Doesn't do anything. 

Tried stopping slow_log, dropping table and restarting slow_log. Table is not created by mysql in this context. 

Eventually recreated the table by hand with not null columns. That's sort of silly.

How to repeat:
Install 5.1.22. Turn on slow_log to TABLE.
Upgrade to 5.1.26.
truncate slow_log

watch the bunnies die...

Suggested fix:
Hrm... the list of possibilities is astounding...
[24 Jul 2008 16:58] Sveta Smirnova
Thank you for the report.

Verified as described: mysql_upgrade does not change definition of system log tables.