[mythtv-users] MySql broken after updates
Stephen Worthington
stephen_agent at jsw.gen.nz
Fri Dec 5 01:13:14 UTC 2014
On Thu, 04 Dec 2014 13:53:05 -0600, you wrote:
>A couple of weeks ago Mythbuntu had some updates available. I ran the
>updates. Since then, MythTV hasn't been running correctly. On my
>frontend, when I try to access a video or recording, I get an error
>saying the file could not be found. On my backend, when I try to start
>mythbackend manually, I get an error saying, "Cannot login to database,"
>followed by "Would you like to configure the database now?" It does not
>give me the option to answer. I get some logging messages, then
>finally, I get, "Can't connect to local MySQL server through socket
>'/var/run/mysqld/mysqld.sock'".
>
>I don't have a mysql.sock or a mysqld.sock file on my system.
>
>Earlier, I was getting an error saying mythtv (the user) could not login
>to the database due to a permission problem. I don't remember the exact
>message. I was trying to duplicate that message when I got the stuff above.
>
>It seems like my database is corrupt, but I don't know much about
>MySQL. Can anybody offer any suggestions?
>
>BTW, I'm running Mythbuntu 14.04.1. MythTV version is 0.27.
>
>Mike
I am also running Mythbuntu 14.04.1 with MythTV 0.27+fixes.
First I think you should check that mysql is actually running. From a
terminal, run:
ps -e | grep sql
This is what I get:
2311 ? 01:18:43 mysqld
If it is running, then try to check the database for errors. Run
this:
sudo /usr/bin/mysqlcheck --defaults-extra-file=/etc/mysql/debian.cnf
mythconverg
(all one line - it may wrap in my email).
The results should be an OK for each table in the database:
mythconverg.archiveitems OK
mythconverg.callsignnetworkmap OK
mythconverg.capturecard OK
mythconverg.cardinput OK
mythconverg.channel OK
mythconverg.channelgroup OK
mythconverg.channelgroupnames OK
mythconverg.channelscan OK
mythconverg.channelscan_channel OK
mythconverg.channelscan_dtv_multiplex OK
mythconverg.codecparams OK
mythconverg.credits OK
mythconverg.customexample OK
mythconverg.diseqc_config OK
mythconverg.diseqc_tree OK
mythconverg.displayprofilegroups OK
mythconverg.displayprofiles OK
mythconverg.dtv_multiplex OK
mythconverg.dtv_privatetypes OK
mythconverg.dvdbookmark OK
mythconverg.dvdinput OK
mythconverg.dvdtranscode OK
mythconverg.eit_cache OK
mythconverg.filemarkup OK
mythconverg.gallerymetadata OK
mythconverg.gamemetadata OK
mythconverg.gameplayers OK
mythconverg.housekeeping OK
mythconverg.inputgroup OK
mythconverg.internetcontent OK
mythconverg.internetcontentarticles OK
mythconverg.inuseprograms OK
mythconverg.iptv_channel OK
mythconverg.jobqueue OK
mythconverg.jumppoints OK
mythconverg.keybindings OK
mythconverg.keyword OK
mythconverg.livestream OK
mythconverg.logging OK
mythconverg.movies_movies OK
mythconverg.movies_showtimes OK
mythconverg.movies_theaters OK
mythconverg.music_albumart OK
mythconverg.music_albums OK
mythconverg.music_artists OK
mythconverg.music_directories OK
mythconverg.music_genres OK
mythconverg.music_playlists OK
mythconverg.music_radios OK
mythconverg.music_smartplaylist_categories OK
mythconverg.music_smartplaylist_items OK
mythconverg.music_smartplaylists OK
mythconverg.music_songs OK
mythconverg.music_stats OK
mythconverg.mythexport OK
mythconverg.mythexport_job_queue OK
mythconverg.mythlog OK
mythconverg.mythweb_sessions OK
mythconverg.networkiconmap OK
mythconverg.oldfind OK
mythconverg.oldprogram OK
mythconverg.oldrecorded OK
mythconverg.people OK
mythconverg.phonecallhistory OK
mythconverg.phonedirectory OK
mythconverg.pidcache OK
mythconverg.playgroup OK
mythconverg.powerpriority OK
mythconverg.powerpriority_tmp OK
mythconverg.profilegroups OK
mythconverg.program OK
mythconverg.programgenres OK
mythconverg.programrating OK
mythconverg.recgrouppassword OK
mythconverg.record OK
mythconverg.record_tmp OK
mythconverg.recorded OK
mythconverg.recordedartwork OK
mythconverg.recordedcredits OK
mythconverg.recordedfile OK
mythconverg.recordedmarkup OK
mythconverg.recordedprogram OK
mythconverg.recordedrating OK
mythconverg.recordedseek OK
mythconverg.recordfilter OK
mythconverg.recordingprofiles OK
mythconverg.recordmatch OK
mythconverg.romdb OK
mythconverg.scannerfile OK
mythconverg.scannerpath OK
mythconverg.schemalock OK
mythconverg.settings OK
mythconverg.storagegroup OK
mythconverg.tvchain OK
mythconverg.tvosdmenu OK
mythconverg.upnpmedia OK
mythconverg.videocast OK
mythconverg.videocategory OK
mythconverg.videocollection OK
mythconverg.videocountry OK
mythconverg.videogenre OK
mythconverg.videometadata OK
mythconverg.videometadatacast OK
mythconverg.videometadatacountry OK
mythconverg.videometadatagenre OK
mythconverg.videopart OK
mythconverg.videopathinfo OK
mythconverg.videosource OK
mythconverg.videotypes OK
mythconverg.weatherdatalayout OK
mythconverg.weatherscreens OK
mythconverg.weathersourcesettings OK
The recordedseek table is larger than the rest of the database put
together, so the check may seem to stall for a while just before it
reports on the recordedseek table (with the OK for recordedrating
showing). Just wait for it to finish the recordedseek table. This
mysqlcheck is automatically run before the weekly database backup that
is done automatically unless you have disabled it. You can see it in
the /etc/cron.weekly/mythtv-database file which does the backups.
If it passes that check, then try running a full repair & optimise on
the database. Run:
/usr/share/doc/mythtv-backend/contrib/maintenance/optimize_mythdb.pl
This is what I get:
Repaired/Optimized: `mythconverg`.`archiveitems`
Analyzed: `mythconverg`.`archiveitems`
Repaired/Optimized: `mythconverg`.`callsignnetworkmap`
Analyzed: `mythconverg`.`callsignnetworkmap`
Repaired/Optimized: `mythconverg`.`capturecard`
Analyzed: `mythconverg`.`capturecard`
Repaired/Optimized: `mythconverg`.`cardinput`
Analyzed: `mythconverg`.`cardinput`
Repaired/Optimized: `mythconverg`.`channel`
Analyzed: `mythconverg`.`channel`
Repaired/Optimized: `mythconverg`.`channelgroup`
Analyzed: `mythconverg`.`channelgroup`
Repaired/Optimized: `mythconverg`.`channelgroupnames`
Analyzed: `mythconverg`.`channelgroupnames`
Repaired/Optimized: `mythconverg`.`channelscan`
Analyzed: `mythconverg`.`channelscan`
Repaired/Optimized: `mythconverg`.`channelscan_channel`
Analyzed: `mythconverg`.`channelscan_channel`
Repaired/Optimized: `mythconverg`.`channelscan_dtv_multiplex`
Analyzed: `mythconverg`.`channelscan_dtv_multiplex`
Repaired/Optimized: `mythconverg`.`codecparams`
Analyzed: `mythconverg`.`codecparams`
Repaired/Optimized: `mythconverg`.`credits`
Analyzed: `mythconverg`.`credits`
Repaired/Optimized: `mythconverg`.`customexample`
Analyzed: `mythconverg`.`customexample`
Repaired/Optimized: `mythconverg`.`diseqc_config`
Analyzed: `mythconverg`.`diseqc_config`
Repaired/Optimized: `mythconverg`.`diseqc_tree`
Analyzed: `mythconverg`.`diseqc_tree`
Repaired/Optimized: `mythconverg`.`displayprofilegroups`
Analyzed: `mythconverg`.`displayprofilegroups`
Repaired/Optimized: `mythconverg`.`displayprofiles`
Analyzed: `mythconverg`.`displayprofiles`
Repaired/Optimized: `mythconverg`.`dtv_multiplex`
Analyzed: `mythconverg`.`dtv_multiplex`
Repaired/Optimized: `mythconverg`.`dtv_privatetypes`
Analyzed: `mythconverg`.`dtv_privatetypes`
Repaired/Optimized: `mythconverg`.`dvdbookmark`
Analyzed: `mythconverg`.`dvdbookmark`
Repaired/Optimized: `mythconverg`.`dvdinput`
Analyzed: `mythconverg`.`dvdinput`
Repaired/Optimized: `mythconverg`.`dvdtranscode`
Analyzed: `mythconverg`.`dvdtranscode`
Repaired/Optimized: `mythconverg`.`eit_cache`
Analyzed: `mythconverg`.`eit_cache`
Repaired/Optimized: `mythconverg`.`filemarkup`
Analyzed: `mythconverg`.`filemarkup`
Repaired/Optimized: `mythconverg`.`gallerymetadata`
Analyzed: `mythconverg`.`gallerymetadata`
Repaired/Optimized: `mythconverg`.`gamemetadata`
Analyzed: `mythconverg`.`gamemetadata`
Repaired/Optimized: `mythconverg`.`gameplayers`
Analyzed: `mythconverg`.`gameplayers`
Repaired/Optimized: `mythconverg`.`housekeeping`
Analyzed: `mythconverg`.`housekeeping`
Repaired/Optimized: `mythconverg`.`inputgroup`
Analyzed: `mythconverg`.`inputgroup`
Repaired/Optimized: `mythconverg`.`internetcontent`
Analyzed: `mythconverg`.`internetcontent`
Repaired/Optimized: `mythconverg`.`internetcontentarticles`
Analyzed: `mythconverg`.`internetcontentarticles`
Repaired/Optimized: `mythconverg`.`inuseprograms`
Analyzed: `mythconverg`.`inuseprograms`
Repaired/Optimized: `mythconverg`.`iptv_channel`
Analyzed: `mythconverg`.`iptv_channel`
Repaired/Optimized: `mythconverg`.`jobqueue`
Analyzed: `mythconverg`.`jobqueue`
Repaired/Optimized: `mythconverg`.`jumppoints`
Analyzed: `mythconverg`.`jumppoints`
Repaired/Optimized: `mythconverg`.`keybindings`
Analyzed: `mythconverg`.`keybindings`
Repaired/Optimized: `mythconverg`.`keyword`
Analyzed: `mythconverg`.`keyword`
Repaired/Optimized: `mythconverg`.`livestream`
Analyzed: `mythconverg`.`livestream`
Repaired/Optimized: `mythconverg`.`logging`
Analyzed: `mythconverg`.`logging`
Repaired/Optimized: `mythconverg`.`movies_movies`
Analyzed: `mythconverg`.`movies_movies`
Repaired/Optimized: `mythconverg`.`movies_showtimes`
Analyzed: `mythconverg`.`movies_showtimes`
Repaired/Optimized: `mythconverg`.`movies_theaters`
Analyzed: `mythconverg`.`movies_theaters`
Repaired/Optimized: `mythconverg`.`music_albumart`
Analyzed: `mythconverg`.`music_albumart`
Repaired/Optimized: `mythconverg`.`music_albums`
Analyzed: `mythconverg`.`music_albums`
Repaired/Optimized: `mythconverg`.`music_artists`
Analyzed: `mythconverg`.`music_artists`
Repaired/Optimized: `mythconverg`.`music_directories`
Analyzed: `mythconverg`.`music_directories`
Repaired/Optimized: `mythconverg`.`music_genres`
Analyzed: `mythconverg`.`music_genres`
Repaired/Optimized: `mythconverg`.`music_playlists`
Analyzed: `mythconverg`.`music_playlists`
Repaired/Optimized: `mythconverg`.`music_radios`
Analyzed: `mythconverg`.`music_radios`
Repaired/Optimized: `mythconverg`.`music_smartplaylist_categories`
Analyzed: `mythconverg`.`music_smartplaylist_categories`
Repaired/Optimized: `mythconverg`.`music_smartplaylist_items`
Analyzed: `mythconverg`.`music_smartplaylist_items`
Repaired/Optimized: `mythconverg`.`music_smartplaylists`
Analyzed: `mythconverg`.`music_smartplaylists`
Repaired/Optimized: `mythconverg`.`music_songs`
Analyzed: `mythconverg`.`music_songs`
Repaired/Optimized: `mythconverg`.`music_stats`
Analyzed: `mythconverg`.`music_stats`
Repaired/Optimized: `mythconverg`.`mythexport`
Analyzed: `mythconverg`.`mythexport`
Repaired/Optimized: `mythconverg`.`mythexport_job_queue`
Analyzed: `mythconverg`.`mythexport_job_queue`
Repaired/Optimized: `mythconverg`.`mythlog`
Analyzed: `mythconverg`.`mythlog`
Repaired/Optimized: `mythconverg`.`mythweb_sessions`
Analyzed: `mythconverg`.`mythweb_sessions`
Repaired/Optimized: `mythconverg`.`networkiconmap`
Analyzed: `mythconverg`.`networkiconmap`
Repaired/Optimized: `mythconverg`.`oldfind`
Analyzed: `mythconverg`.`oldfind`
Repaired/Optimized: `mythconverg`.`oldprogram`
Analyzed: `mythconverg`.`oldprogram`
Repaired/Optimized: `mythconverg`.`oldrecorded`
Analyzed: `mythconverg`.`oldrecorded`
Repaired/Optimized: `mythconverg`.`people`
Analyzed: `mythconverg`.`people`
Repaired/Optimized: `mythconverg`.`phonecallhistory`
Analyzed: `mythconverg`.`phonecallhistory`
Repaired/Optimized: `mythconverg`.`phonedirectory`
Analyzed: `mythconverg`.`phonedirectory`
Repaired/Optimized: `mythconverg`.`pidcache`
Analyzed: `mythconverg`.`pidcache`
Repaired/Optimized: `mythconverg`.`playgroup`
Analyzed: `mythconverg`.`playgroup`
Repaired/Optimized: `mythconverg`.`powerpriority`
Analyzed: `mythconverg`.`powerpriority`
Repaired/Optimized: `mythconverg`.`powerpriority_tmp`
Analyzed: `mythconverg`.`powerpriority_tmp`
Repaired/Optimized: `mythconverg`.`profilegroups`
Analyzed: `mythconverg`.`profilegroups`
Repaired/Optimized: `mythconverg`.`program`
Analyzed: `mythconverg`.`program`
Repaired/Optimized: `mythconverg`.`programgenres`
Analyzed: `mythconverg`.`programgenres`
Repaired/Optimized: `mythconverg`.`programrating`
Analyzed: `mythconverg`.`programrating`
Repaired/Optimized: `mythconverg`.`recgrouppassword`
Analyzed: `mythconverg`.`recgrouppassword`
Repaired/Optimized: `mythconverg`.`record`
Analyzed: `mythconverg`.`record`
Repaired/Optimized: `mythconverg`.`record_tmp`
Analyzed: `mythconverg`.`record_tmp`
Repaired/Optimized: `mythconverg`.`recorded`
Analyzed: `mythconverg`.`recorded`
Repaired/Optimized: `mythconverg`.`recordedartwork`
Analyzed: `mythconverg`.`recordedartwork`
Repaired/Optimized: `mythconverg`.`recordedcredits`
Analyzed: `mythconverg`.`recordedcredits`
Repaired/Optimized: `mythconverg`.`recordedfile`
Analyzed: `mythconverg`.`recordedfile`
Repaired/Optimized: `mythconverg`.`recordedmarkup`
Analyzed: `mythconverg`.`recordedmarkup`
Repaired/Optimized: `mythconverg`.`recordedprogram`
Analyzed: `mythconverg`.`recordedprogram`
Repaired/Optimized: `mythconverg`.`recordedrating`
Analyzed: `mythconverg`.`recordedrating`
Repaired/Optimized: `mythconverg`.`recordedseek`
Analyzed: `mythconverg`.`recordedseek`
Repaired/Optimized: `mythconverg`.`recordfilter`
Analyzed: `mythconverg`.`recordfilter`
Repaired/Optimized: `mythconverg`.`recordingprofiles`
Analyzed: `mythconverg`.`recordingprofiles`
Repaired/Optimized: `mythconverg`.`recordmatch`
Analyzed: `mythconverg`.`recordmatch`
Repaired/Optimized: `mythconverg`.`romdb`
Analyzed: `mythconverg`.`romdb`
Repaired/Optimized: `mythconverg`.`scannerfile`
Analyzed: `mythconverg`.`scannerfile`
Repaired/Optimized: `mythconverg`.`scannerpath`
Analyzed: `mythconverg`.`scannerpath`
Repaired/Optimized: `mythconverg`.`schemalock`
Analyzed: `mythconverg`.`schemalock`
Repaired/Optimized: `mythconverg`.`settings`
Analyzed: `mythconverg`.`settings`
Repaired/Optimized: `mythconverg`.`storagegroup`
Analyzed: `mythconverg`.`storagegroup`
Repaired/Optimized: `mythconverg`.`tvchain`
Analyzed: `mythconverg`.`tvchain`
Repaired/Optimized: `mythconverg`.`tvosdmenu`
Analyzed: `mythconverg`.`tvosdmenu`
Repaired/Optimized: `mythconverg`.`upnpmedia`
Analyzed: `mythconverg`.`upnpmedia`
Repaired/Optimized: `mythconverg`.`videocast`
Analyzed: `mythconverg`.`videocast`
Repaired/Optimized: `mythconverg`.`videocategory`
Analyzed: `mythconverg`.`videocategory`
Repaired/Optimized: `mythconverg`.`videocollection`
Analyzed: `mythconverg`.`videocollection`
Repaired/Optimized: `mythconverg`.`videocountry`
Analyzed: `mythconverg`.`videocountry`
Repaired/Optimized: `mythconverg`.`videogenre`
Analyzed: `mythconverg`.`videogenre`
Repaired/Optimized: `mythconverg`.`videometadata`
Analyzed: `mythconverg`.`videometadata`
Repaired/Optimized: `mythconverg`.`videometadatacast`
Analyzed: `mythconverg`.`videometadatacast`
Repaired/Optimized: `mythconverg`.`videometadatacountry`
Analyzed: `mythconverg`.`videometadatacountry`
Repaired/Optimized: `mythconverg`.`videometadatagenre`
Analyzed: `mythconverg`.`videometadatagenre`
Repaired/Optimized: `mythconverg`.`videopart`
Analyzed: `mythconverg`.`videopart`
Repaired/Optimized: `mythconverg`.`videopathinfo`
Analyzed: `mythconverg`.`videopathinfo`
Repaired/Optimized: `mythconverg`.`videosource`
Analyzed: `mythconverg`.`videosource`
Repaired/Optimized: `mythconverg`.`videotypes`
Analyzed: `mythconverg`.`videotypes`
Repaired/Optimized: `mythconverg`.`weatherdatalayout`
Analyzed: `mythconverg`.`weatherdatalayout`
Repaired/Optimized: `mythconverg`.`weatherscreens`
Analyzed: `mythconverg`.`weatherscreens`
Repaired/Optimized: `mythconverg`.`weathersourcesettings`
Analyzed: `mythconverg`.`weathersourcesettings`
Again, it may seem to stall on recordedrating while it is checking
recordedseek.
If there is something wrong with the database, you will likely get
some warning or error messages, but the repair & optimise often fixes
the usual sorts of errors. After this, try to start mythbackend and
see if it works. The normal command to do this is:
sudo start mythtv-backend
and you can see if it is running using the command:
sudo status mythtv-backend
This repair & optimise is done automatically daily if you have set the
"Enable daily MySQL DB Optimize/Repair cron job" option on the MySQL
tab of Mythbuntu Control Center. If you do not have that option set,
I highly recommend setting it as it makes database problems much less
likely to happen in the future. Setting that option copies the
optimize_mythdb.pl file to /etc/cron.daily/optimize_mythdb so that it
is run automatically every day.
More information about the mythtv-users
mailing list