[mythtv-users] Linux frontend database connection problems - FIXED
R. G. Newbury
newbury at mandamus.org
Mon Aug 20 15:38:50 UTC 2007
Piers Kittel wrote:
> Geoff,
>
> Thanks *so* much for replying - it is much appreciated!
>
>> Have you started at first principles?
>
> Yeah, but I'll do it again.
>
>> Can you cross ping between the machines?
>
> Yes
>
>> Can you ssh from the frontends? Needs /etc/host entries to be
>> correct.
>
> Yes
>
>> Can you nsf mount from the frontends? Needs stuff setup and running on
>> the backend machine. If nsf works, then you have proved that all the
>> required TCPIP is correct.
>
> Assume you mean NFS - yes, as one of the frontend is a diskless
> frontend, and accesses its data via NFS which is on the backend.
>
>> Now that leaves mysql access.
>> Make sure mysqld is OFF on each frontend and running on the backend.
>
> MySQL is not running on the frontends
>
>> Make sure that the mysql ports are open. Fedora has a little program
>> called 'lokkit' which is made for port opening/checking.
>
> MySQL should be working, after all, the OS X frontends doesn't have
> any problems. I use a program called nmap, and it reports:
>
> piers at hinata:~$ nmap destiny
>
> Starting Nmap 4.11 ( http://www.insecure.org/nmap/ ) at 2007-08-19 13:13
> BST
> Interesting ports on destiny (192.168.1.2):
> Not shown: 1670 closed ports
> PORT STATE SERVICE
> 22/tcp open ssh
> 53/tcp open domain
> 80/tcp open http
> 111/tcp open rpcbind
> 443/tcp open https
> 665/tcp open unknown
> 2049/tcp open nfs
> 3306/tcp open mysql
> 6543/tcp open mythtv
> 6544/tcp open mythtv
>
> Nmap finished: 1 IP address (1 host up) scanned in 0.279 seconds
> piers at hinata:~$
>
> As we can see, there's a mysql entry in the list - as well as 2
> MythTV ports.
>
> (FYI, Hinata = the diskless frontend, destiny is the backend)
>
>> The backend needs a unique name/IP. Set it in each frontend in
>> /etc/hosts. DHCP is a real problem here: use static IP addresses.
>
> The backend and the diskless frontend both use static IP addresses.
>
>> Mythtv-setup on the backend cannot use 127.0.0.1 !!!
>
> Correct - remember the OS X frontends works fine.
>
>> At this point you should be able to ssh into the back from the fronts
>> and vice versa. If you set up nfs then you should be able to mount the
>> storage partition from the frontends.
>
> Have done...
>
> piers at hinata:~$ df -h
> Filesystem Size Used Avail Use% Mounted on
> tmpfs 126M 0 126M 0% /lib/init/rw
> tmpfs 126M 0 126M 0% /dev/shm
> rootfs 9.2G 4.2G 4.6G 48% /
> destiny.10sca.intranet:/video
> 298G 69G 230G 23% /video
> piers at hinata:~$
>
>
>> Create a mysql user for each frontend machine by amending and re-
>> running
>> the mc.sql script which is in mythtv/database.
>> ....(I'm not sure if mysql will work from multiple frontends using the
>> same mysql user.)
>
> Can't be a problem with the server, because all OS X frontends works
> fine - just not the Linux frontends. Did this anyway, and didn't work.
>
>> At this point, running 'select host,user,password from user;' on the
>> mysqld server (backend) machine, as root mysql user should list the
>> various frontend machines by name, the mysql users and show the
>> hash of
>> the password. At this point you should be able to log into the mysql
>> server from each frontend and run mysql queries as the frontend's user
>> and as the root mysql user. If you cannot do this, myth will not be
>> able
>> to either.....
>
> I can connect to the mysql database via the frontend using the mysql-
> client software:
>
> piers at hinata:~$ mysql -h 192.168.1.2 -u mythtv -p mythconverg
> Enter password:
> Reading table information for completion of table and column names
> You can turn off this feature to get a quicker startup with -A
>
> Welcome to the MySQL monitor. Commands end with ; or \g.
> Your MySQL connection id is 73
> Server version: 5.0.32-Debian_7etch1-log Debian etch distribution
>
> Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
>
> mysql> quit
> Bye
> piers at hinata:~$
>
> It works fine!
>
>> Run 'find' to check for duplicate copies of mysql.txt on each machine.
>> Fix the /home/mythtv frontend copy of mysql.txt to refer to the
>> correct
>> backend IP addess and the frontend mysql user name.
>
> Have deleted every instance of mysql.txt on the frontend, and re-ran
> the frontend, and entered the exact same settings I used to log onto
> the server above and it doesn't work! I am much more confident the
> SQL driver mythtv uses is broken somehow.
>
> 2007-08-19 13:39:53.323 Writing settings file /home/piers/.mythtv/
> mysql.txt
> 2007-08-19 13:39:53.338 Unable to connect to database!
> 2007-08-19 13:39:53.339 No error type from QSqlError? Strange...
> QSqlQuery::exec: database not open
> QSqlQuery::exec: database not open
> 2007-08-19 13:39:53.392 DB Error (KickDatabase):
> Query was:
> SELECT NULL;
> No error type from QSqlError? Strange...
> 2007-08-19 13:39:53.448 Failed to init MythContext, exiting.
>
> Hmm... libqt3-mt-mysql somehow got uninstalled (probably in the dist-
> upgrade) - reinstalled it, now mythfrontend works, but very slowly
> and video doesn't work, but that's another thread :)
>
>> And remember:
>> If at first you don't succeed, sky-diving is nor recommended.
>
> Good advice. :)
>
> Thanks for all your help and for your time! It is much appreciated :)
Try a 'yum install qt-MySQL'. That library seems to be needed and
sometimes gets miseed, probably because the script calls it 'qt-mysql'
like one of the libraries which normally gets installed.
Very tricky, being case sensitive.
--
Helping with the HTTP issue
<a href="http://www.w3.org/Protocols/">HTTP</a>
More information about the mythtv-users
mailing list