[mythtv-users] Upgraded the Ubuntu 11.10 and not Myth can't connect to MySQL

Robert Longbottom rongblor at googlemail.com
Sat Nov 5 13:09:43 UTC 2011


On 05/11/2011 11:45, Damian wrote:
> :-) Thanks Geoff, Bill and John for helping out.

I'll start by saying I've not been following this, but here goes with a 
few suggestions...

> Here's the latest. I've done a lot, and think I've got enough to clarify
> the problem a bit to 'those of you who know', but I'm at the edge of my
> understanding again. Here's where it's at ....
>
> Both mysql.txt and config.xml contain '192.168.0.2' rather than
> 'MythBox', but I think I need to fix my bigger problems with mysql
> before I start messing with the MythTV setup. I can't currently log into
> mysql as root, so trying to fix anything further down the line seems futile.
>
> I did run:
> /var/run$ chown -R mysql:mysql mysql
> but this just responded:
> chown: cannot access `mysql': No such file or directory
>
> Should one of those 'mysql's have been 'mysqld'? I assume so, but I
> don't know which one.

Yes, that last one should be mysqld - thats the directory name and the 
command is changing the ownership of that directory to the mysql user 
and group.  Check it's worked with 'ls -la /var/run/mysqld' - you should 
see all file (except the ".." owned by mysql)

> I've just had a look at the /var/run/mysqld folder, and it looks
> completely empty. That doesn't seem like a good thing!???

Thats fine.  It should be empty when mysql isn't running (which it looks 
like it isn't from some of the output you've posted below.

> Have I not even got mysql installed properly anymore?? This is just
> weird. How can an 'upgrade' break things so badly??
>
> Found this thread:
>
> http://ubuntuforums.org/showthread.php?t=1601420
>
> $ sudo chown -R mysql:mysql /var/lib/mysql
> Then rebooted
>
>
> $ sudo service mysql status
> mysql respawn/post-start, (post-start) process 3234
>
>
> $ mysql -u mythtv -pmythtv mythconverg
> ERROR 2002 (HY000): Can't connect to local MySQL server through socket
> '/var/run/mysqld/mysqld.sock' (2)
>
> $ ps -A | grep mysql
> Returns nothing

^-- looks like the mysql service is failing to start correctly.

> Tried running mysqld out of bin:
>
> /usr/bin$ mysqld
> 111105 11:19:20 [Warning] option 'net_buffer_length': unsigned value
> 8388608 adjusted to 1048576
> 111105 11:19:20 [Warning] Can't create test file
> /var/lib/mysql/MythBox.lower-test
> 111105 11:19:20 [Warning] Can't create test file
> /var/lib/mysql/MythBox.lower-test
> mysqld: Can't change dir to '/var/lib/mysql/' (Errcode: 13)
> 111105 11:19:20 [ERROR] Aborting
>
> 111105 11:19:20 [Note] mysqld: Shutdown complete
>
> Tried running mysqld_safe out of bin:
>
> /usr/bin$ mysqld_safe
> 111105 11:21:25 mysqld_safe Logging to syslog.
> 111105 11:21:25 mysqld_safe Starting mysqld daemon with databases from
> /var/lib/mysql
> rm: cannot remove `/var/lib/mysql/MythBox.pid': Permission denied
> 111105 11:21:25 mysqld_safe mysqld from pid file
> /var/lib/mysql/MythBox.pid ended
>
> Im I getting somewhere here? Maybe the hole problem is just down to
> permissions? Or maybe it's permissions and paswords have been changed?
> One thing at a time. What should the permissions on these folders be and
> how do I change them?

Trying to run mysql under your user account (or root) will cause issues 
with permissions because either you wont have access to the mysql files, 
or if you run it as root, then it will create some files that it then 
wont be able to access when you run it as a service because then it will 
(should) run under the mysql user.

> I'm learning, but not enough :-)
>
> There's this sequence suggested by the guy on the forum thread from last
> year...
>       purge and reinstall mysql server
>       chgrp -R mysql /var/lib/mysql/
>       Check if mysql can run in savemode: /usr/bin: mysqld_safe
>       Somehow I lost my mysql.conf for upstart. So recreate it and paste
> exec sudo -u mysql /usr/sbin/mysqld #<- important execute as use mysql
>
> but I don't even understand all of that, let alone have confidence in
> accieving it. Nor do I know if it will kill any database I once had
> (which I'm hoping I can keep if possible, although I am losing hope that
> it even exists any more).
>
> The last thing I did was follow bills advice and run the 'post-start
> script' from /etc/init/mysql.conf maually on the command line. Here's
> the results:
>
> $ for i in `seq 1 30` ; do
>   >  /usr/bin/mysqladmin --defaults-file="${HOME}"/debian.cnf ping&&  {
>   >  exec "${HOME}"/debian-start
>   >  # should not reach this line
>   >              exit 2
>   >          }
>   >          sleep 1
>   >      done
> Could not open required defaults file: /home/damian/debian.cnf
> Fatal error in defaults handling. Program aborted
> /usr/bin/mysqladmin: connect to server at 'localhost' failed
> error: 'Can't connect to local MySQL server through socket
> '/var/run/mysqld/mysqld.sock' (2)'
> Check that mysqld is running and that the socket:
> '/var/run/mysqld/mysqld.sock' exists!
> Could not open required defaults file: /home/damian/debian.cnf
> Fatal error in defaults handling. Program aborted
> /usr/bin/mysqladmin: connect to server at 'localhost' failed
> error: 'Can't connect to local MySQL server through socket
> '/var/run/mysqld/mysqld.sock' (2)'
> Check that mysqld is running and that the socket:
> '/var/run/mysqld/mysqld.sock' exists!
> etc etc repeat to infinity
>
> I then tried Bill's test to see if my mythconverg database was still
> there .. and I think it is! :-) Here's the results:
>
> $ sudo -i
> root at MythBox:~#    cd /var/lib/mysql/mythconverg
> root at MythBox:/var/lib/mysql/mythconverg#    ls -l
> total 19748
> -rw-rw---- 1 mysql mysql    9255 2011-05-09 07:53 archiveitems.frm
> -rw-rw---- 1 mysql mysql       0 2011-10-27 08:11 archiveitems.MYD
> -rw-rw---- 1 mysql mysql    2048 2011-10-27 08:11 archiveitems.MYI
> -rw-rw---- 1 mysql mysql    8630 2011-05-09 07:53 callsignnetworkmap.frm
> -rw-rw---- 1 mysql mysql       0 2011-10-27 08:11 callsignnetworkmap.MYD
> -rw-rw---- 1 mysql mysql    1024 2011-10-27 08:11 callsignnetworkmap.MYI
> -rw-rw---- 1 mysql mysql    9752 2011-05-09 07:53 capturecard.frm
> -rw-rw---- 1 mysql mysql     328 2011-10-27 08:11 capturecard.MYD
> and lots more of this .. as expected.

Looks like your db is there, which is a good start.  I'd say that 
following the complete remove and reinstall risks loosing that.

> Ok, my head hurts now. Where next?

Have you checked the mysql log files in /var/log/mysql?  I'd suggest you 
go into /var/log/mysql, delete any existing log files (maybe take a copy 
elsewhere just in case).  Check that the /var/log/mysql directory is 
owned and writable by the mysql user.  Then try and start the mysql 
service.  Check to see if the process is running and then check the log 
files to see what they say.  So, commands something like this:

# cd /var/log/mysql

# sudo rm *.err *.log

# ls -la /var/log/mysql
Check that the . directory is owned by mysql and is writeable eg:
robert at quad ~ $ ls -la /var/log/mysql/
total 4872
drwxr-xr-x  2 mysql mysql    4096 May 13 14:40 .
drwxr-xr-x 19 root  root     4096 Nov  2 03:15 ..

# sudo service mysql start (?? I assume this is how you start service on 
Ubuntu based on your postings above - I'm not a Ubuntu user, so I'm not 
familiar)

Wait a few seconds

# ps ax |grep -i mysql

Based on your output above, I'd expect this to report that it isn't running.

# cat /var/log/mysql/*.err /var/log/mysql/*.log

And see what falls out.

If it looks like permissions, post and much 'ls -la' output as you can 
from the various mysql directories including
/var/run/mysql
/var/log/mysql
/var/lib/mysql
/etc/mysql

Hoepfully someone will be able to spot the problem

Good luck!
Robert.


More information about the mythtv-users mailing list