[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