[mythtv-users] Ver 31 frontend cannot connect to the database

Mike Carron jmcarron at gmx.com
Mon Nov 23 06:52:01 UTC 2020

On 11/22/20 10:40 PM, Bill Meek wrote:
> On 11/23/20 12:07 AM, Mike Carron wrote:
>> On 11/22/20 8:38 PM, Bill Meek wrote:
>>> On 11/22/20 10:27 PM, Mike Carron wrote:
>>>> On 11/22/20 7:14 PM, Bill Meek wrote:
>>>>>> On 11/22/20 5:20 PM, Bill Meek wrote:
>>>>>>> On 11/22/20 6:23 PM, Mike Carron wrote:
>>>>>>>> My backend host recently failed badly enough that I was not able to
>>>>>>>> salvage anything so I replaced the hardware and installed a new Ubuntu
>>>>>>>> 20.04 and a new v31 mythtv-backend-master with xmltv.
>>>>>>>> I then upgraded a remote frontend (Ubuntu 18.04) from MythTV 30 to 31
>>>>>>>> but that frontend will not connect to the database.
>>>>>>>> I've checked and rechecked the frontend setup screen and everything is
>>>>>>>> correct. The config.xml files for both look like they should work. I've
>>>>>>>> tried the backend config with </host> = localhost and =
>>>>>>>> (the backend machine IP). The frontend config host is
>>>>>>>> I know the ip addresses are good. I can load into the
>>>>>>>> address line of the Firefox on the frontend machine and it finds the
>>>>>>>> database immediately.
>>>>>>>> I'm no doubt missing something obvious but I can't find it. It seems
>>>>>>>> like I have worn out 2 search engines trying.
>>>>>>>> Suggestions?
>>>>>>>> mike
>>>>>>> On the backend's config.xml, always use localhost (or if localhost
>>>>>>> can't be resolved). That causes a socket to be used.
>>>>>>> See if mysql is running on the backend: systemctl status mysql mysqld mariadb
>>>>>>> Probably is if the backend is running OK.
>>>>>>> One of the above ^^^ should be running. All three will work if
>>>>>>> using mariadb and the Alias= lines in the service are setup.
>>>>>>> On the frontend, the following three must work: ping,
>>>>>>> nmap --reason -p 3306 (expect a syn-ack) and then:
>>>>>>>       mysql --host= --user=mythtv --password=<from config.xml> mythconverg
>>>>> On 11/22/20 8:50 PM, Mike Carron wrote:
>>>>>> backend's config.xml uses localhost.
>>>>>> status for mysql, mysqld and mariadb: active (running)
>>>>>> ping works
>>>>>> nmap --reason -p 3306 produces:
>>>>>> 3306/tcp closed mysql   reset ttl 64
>>>>>> MAC Address: A8:5E:45:E3:5A:9F (Unknown)
>>>>>> mysql --host= --user=mythtv --password=<from config.xml>
>>>>>> mythconverg produces:
>>>>>> ERROR 2003 (HY000): Can't connect to MySQL server on '' (111)
>>>>>> This looks like the problem but I have no idea how to fix it.
>>>>> See the answer from Ramesh.
>>>>> grep --recursive bind.address /etc/mysql
>>>>> My choice, which allows connections from any host
>>>>> including IPv6:
>>>>> $ cat /etc/mysql/mariadb.conf.d/mythtv.cnf
>>>>> [mysqld]
>>>>> bind_address=::
>>>>> Restart mysql for it to take affect.
>>>> On my backend /etc/mysql/mariadb.conf.d contains: 50-client.cnf
>>>> 50-mysql-clients.cnf  50-mysqld_safe.cnf  50-server.cnf.
>>>> mythtv.cnf is in /etc/mysql/conf.d/,  the contents are:
>>>> [mysqld]
>>>> bind-address=::
>>>> max_connections=100
>>>> I restarted mysql. Nothing changed.
>>> Need to be careful here. Try this:  tail -5 /etc/mysql/my.cnf
>>> That tells you the order that the sub-directories are included in.
>>> Any instance of bind_address AFTER the one you set will override it.
>>> Do the grep above to see if there are any other bind-addresses. Don't
>>> change them, just be sure mythtv.cnf is read alphabetically after
>>> everything else.
>>> Also, "Nothing changed" isn't clear enough. Did the nmap and mysql
>>> commands fail exactly the same way. You could have moved on from
>>> a connect failure to a password problem (for example).
>> Both nmap and mysql commands fail in the frontend. Both work in the
>> backend. Here is the result of nmap:
>> root at MythTVMBE:/# nmap --reason -p 3306
>> Starting Nmap 7.80 ( https://nmap.org ) at 2020-11-22 21:57 PST
>> Nmap scan report for MythTVMBE (
>> Host is up, received localhost-response (0.000064s latency).
>> 3306/tcp closed mysql   reset ttl 64
>> Nmap done: 1 IP address (1 host up) scanned in 0.16 seconds
>> If I'm reading this correctly my problem is that port 3306 is closed.
>> Port 3306 is what the frontend is trying to talk to. How do I open it?
>> I'm not a mysql expert and I'm way too old to become one.
> Unfortunately, the bind-address solution is my best shot or at least my 1st.
> Lets see the command and output from this: grep --recursive bind.address /etc/mysql
> Then the command and output from this: tail -5 /etc/mysql/my.cnf

These commands are run on the backend:

root at MythTVMBE:/# grep --recursive bind.address /etc/mysql
/etc/mysql/mariadb.conf.d/50-server.cnf:bind-address            =

root at MythTVMBE:/# tail -5 /etc/mysql/my.cnf

# Import all .cnf files from configuration directory
!includedir /etc/mysql/conf.d/
!includedir /etc/mysql/mariadb.conf.d/

For what it's worth, etc/mysql/conf.d/ is where the bind address can be
found. /etc/mysql/mariadb.conf.d does not contain any bind addresses
that I could find.


More information about the mythtv-users mailing list