On 28/06/14 14:45, James Linder wrote:

I use mysql for (amongst others) mythtv. I note that on a power fail 3 times 
out of 4 mysql is FOOBAR.

This sorts corrupt tables, but how why ? etc on ext4 drives

mysqlcheck --auto-repair --check -u mythtv -pmythtv mythconverg

or

mysqlcheck --auto-repair -A -u mythtv -pmythtv mythconverg

perhaps (match to your distro) in rc.local

James
It is for this particular reason that I convert all mythtv's myisam tables to innodb. It is ACID compliant, so that a powerfail doesn't leave you with a screwed table. I suggested to the myth devs that they change to innodb by default and was basically laughed at, as if you don't run a UPS on your media machine, also inno isn't available by default on some ancient releases of some distros.

With recent mysql (5.5) the default engine has changed to innodb so odds are a recent clean install will already be in innodb, if you are running from an older database you will want to do the conversion.

I haven't tested this since 2008 but this is the script I used to do the conversion
(take a backup first)

for t in $(mysql --batch --column-names=false -e "show tables" mythconverg |grep -v "exclude_this");
do
mysql -e "alter table $t type=InnoDB" mythconverg;
done

This will take a while depending on how big your database is and the spec on your system.
I'd suggest shutting mythbackend down first.

Oh to fix broken recordings in the table (when you jump around you skip random times not 30 seconds or whatever)

find /var/lib/mythtv/recordings -iname "*.mpg" -mtime -4 -print0 | xargs -0 -n1 mythcommflag --rebuild --file

That will re-build the seektable for any file modified in the last 4 days.
It'll take a while to run but its pretty quick, quicker than standard commflag.

--
SLUG - Sydney Linux User's Group Mailing List - http://slug.org.au/
Subscription info and FAQs: http://slug.org.au/faq/mailinglists.html

Reply via email to