[mythtv-users] Upgraded the Ubuntu 11.10 and not Myth can't connect to MySQL
R. G. Newbury
newbury at mandamus.org
Fri Nov 4 00:53:19 UTC 2011
On 11/03/2011 05:58 PM, Damian wrote:
> On 01/11/2011 23:47, R. G. Newbury wrote:
>> On 11/01/2011 07:37 PM, Newbury wrote:
>>>
>>> On 2011-11-01, at 19:26, Damian<myth at surr.co.uk> wrote:
>>>
>>>> Hi all,
>>>>
>>>> Any more ideas on this?
>>>>
>>>> Being unable to log into phpmyadmin makes me think that passwords have
>>>> changed during the upgrade somehow!?!
>>>>
>>>> I've just done the following to confirm the status of things:
>>>>
>>>> $ sudo service mysql status
>>>> mysql start/running
>>>>
>>>> $ sudo service mythtv-backend status
>>>> mythtv-backend stop/waiting
>>>>
>>>>
>>>> It's a long time since I've had scary mysql problems and needed my hand
>>>> holding though it, but I seem to be there again for some reason.
>>>>
>>>
>>> This came up about a week ago and I set out a checklist of steps in
>>> response to a similar problem. Go to gossamer-threads and search using
>>> 'Newbury' and 'mysql' to find the thread.
>>>
>>> On my iPhone ATM.
>>>
>>> Geoff
>>
>> OK, This thread:
>> http://www.gossamer-threads.com/lists/mythtv/users/494571
>>
>> Geoff
>>
>>
>
> Hi Geoff,
>
> Thanks for replying.
>
> The permission of my /etc/mythtv/mysql.txt file is still set to 'mythtv'.
>
> Would posting the contents of it be useful? The top line says:
> DBHostName=192.168.0.2
I presume that 192.168.0.2 is the correct IP address of your mythbox.
> Here's the content of my 'hosts' file:
>
> 127.0.0.1 localhost.localdomain localhost
> ::1 MythBox localhost6.localdomain6 localhost6
> 127.0.1.1 MythBox
If you use a local name for your box, it should be listed in hosts *by
the IP address*.
192.168.0.2 MythBox
> # The following lines are desirable for IPv6 capable hosts
> ::1 ip6-localhost ip6-loopback
> fe00::0 ip6-localnet
> ff00::0 ip6-mcastprefix
> ff02::1 ip6-allnodes
> ff02::2 ip6-allrouters
> ff02::3 ip6-allhosts
>
>
> There's no mention of '192.168.0.2' in there, but the properties say
> that the file hasn't been modified since May, so I assume that's not the
> problem.
>
> /home/.mythtv/config.xml has this in there:
> <DBHostName>192.168.0.2</DBHostName>
>
>
> I still can't log into phpmyadmin, so either mysql isn't running ("sudo
> service mysql status" seems to say that it is), or my passwords have got
> messedup/changed/deleted somehow. Why on earth should that happen with
> an upgrade??
>
> I'm hoping that the database is all still there and fine and I just need
> to crack logging into the thing.
>
> What steps should I take from here?
Start with 'mysql -u mythtv -pmythtv mythconverg'
If you end up with the "mysql >" prompt then it is NOT mysql's fault, it
is your myth setup. Go to A
If you don't then your mysql setup is munged. You will get a message
like 'login not allowed for user mythtv at whereever'. Go to B
A
First, run ifconfig and confirm that 192.168.0.2 *IS* your correct IP
address.
Then I suggest that you *very* carefully check your
/home/mythtv/.mythtv/mysql.txt and config.xml files, so that the correct
IP, user and password are listed.
I strongly suggest that you then search for each and every other copy of
those files and replace them with symlinks. Having different versions of
these is *really* messy.
(Use 'find -L . -type f -iname mysql.txt' from /etc/ and /home and /root)
service restart network
service restart mysqld
mythtv-setup
Check that the IP address and computer name are properly set on the
first two pages, and in the General pages.
This could happen if your box gets a new IP address. You really do want
to have your router serve up a static address. Most routers allow you to
tie the MAC address to an IP address. From your symptoms I suspect that
this could have been what happened.
B
Mysql does not know who your user is. Create a file, mc.sql containing:
CREATE DATABASE IF NOT EXISTS mythconverg;
GRANT ALL ON mythconverg.* TO mythtv at localhost IDENTIFIED BY "mythtv";
FLUSH PRIVILEGES;
GRANT CREATE TEMPORARY TABLES ON mythconverg.* TO mythtv at localhost
IDENTIFIED BY "mythtv";
FLUSH PRIVILEGES;
If your box is EVER going to be more than a single BE/FE setup you MUST
substitute your mythboxname for localhost in the above.
You need to know your root *mysql* password, if one was set.
Run 'mysql -u root -p < mc.sql'
and enter the password. The root mysql user has the privilege levels to
create the mythtv user.
Since you DID have a working setup, I doubt that this is the cause.
As set out in the prior thread, you can see which users mysql 'knows'
about by signing into mysql as root user, then:
mysql > use mysql;
mysql > select host,user,password from user;
This lists all the known users on which hosts, and whether there is a
password.
Geoff
Restart the network and mysqld.
More information about the mythtv-users
mailing list