[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