[mythtv-users] mythfilldatabase fails on mariadb

Michael T. Dean mtdean at thirdcontact.com
Tue Nov 25 14:24:13 UTC 2014


On 11/25/2014 08:32 AM, Darwin O'Connor wrote:
> I got mariadb to log and I found an assert is failing and mariadb 
> crashes.
>
> Here is the mediadb log: http://doconnor.homeip.net/mariadb.err

Did you follow the instructions in the error messages

InnoDB: If you get repeated assertion failures or crashes, even
InnoDB: immediately after the mysqld startup, there may be
InnoDB: corruption in the InnoDB tablespace. Please refer to
InnoDB: http://dev.mysql.com/doc/refman/5.5/en/forcing-innodb-recovery.html
InnoDB: about forcing recovery.


Those instructions show how to start the server when it refuses to start 
(which isn't appropriate for you), but also--along with the error 
message itself--hint at the fact that corruption in InnoDB tables can 
cause server crashes.

That said, really you shouldn't be using InnoDB tables for MythTV 
(except for the MythWeather tables), so MythTV shouldn't be tripping up 
due to any InnoDB corruption.  However, if you started using MythTV with 
a version of MythTV that was meant for use with MySQL versions that 
default to MyISAM but you used a MySQL/MariaDB version that defaults to 
InnoDB, your tables would have been created using the wrong storage engine.

You could convert them or--since your schema definition is corrupt (at 
minimum, it's using InnoDB engine, but may have other unidentified 
corruption) and since your InnoDB tables may have corruption in them (as 
indicated by the crashes/error message/instructions--a better approach 
would be to do a partial restore of a complete backup ( 
http://www.mythtv.org/wiki/Database_Backup_and_Restore#Partial_restore_of_a_backup 
), then completely reconfigure MythTV.  Just make sure you're using a 
relatively current version of MythTV so you don't create InnoDB tables 
again.  This would fix both issues with one procedure (get rid of any 
corrupt InnoDB tables and create your schema using the MythTV-supported 
storage engine).

Also, your MariaDB error log also shows some corruption in the 
mysql.event table (which may be related).  That should probably be 
fixed--which may require rather drastic measures (or, if not, a lot of 
research to figure out how to fix it).

And, usually this type of problem (where a client's use of a 
client/server database causes a server crash) is due to compiling the 
client against a different version of the database libraries.  In this 
case, the "client" is the Qt-MySQL driver, so you may need to check that 
your Qt with MySQL support was built properly against the right MariaDB 
library versions and if not, recompile the drivers and/or Qt appropriately.

Mike


More information about the mythtv-users mailing list