[mythtv-users] MySql broken after updates

Mike B yp_38 at yahoo.com
Fri Dec 5 05:12:53 UTC 2014


On 12/4/2014 7:13 PM, Stephen Worthington wrote:
> 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.
> _______________________________________________
> mythtv-users mailing list
> mythtv-users at mythtv.org
> http://lists.mythtv.org/mailman/listinfo/mythtv-users
> http://wiki.mythtv.org/Mailing_List_etiquette
> MythTV Forums: https://forum.mythtv.org
>

Thanks for the info on how to check for errors.  I'm going to print that 
out and add it to my notebook!

I did figure out the problem with some help from somebody on the 
mythbuntu IRC channel.  For some reason, the bind-address in my.cnf was 
set to 127.0.0.1 and in mythtv.cnf to 0.0.0.0.  I commented both out, 
and it is now working great.

I did have a problem with my root password in MySQL, but I was able to 
fix that too.  Now everything is running the way it should be (mostly).

Thanks again,
Mike


More information about the mythtv-users mailing list