Hi Tom, Thank you for the follow up.
Actually the standard MySQL/MariaDB way is to use sockets if the hostname is localhost. TCP/IP will only be used if the hostname is not localhost, or if an IP is provided. So basically it works now as expected (non standard dirs etc) but had to provide the ip address for the localhost (127.0.0.1) to force TCP/IP connection. Should it be documented? Best regards, Theo On Tuesday, March 14, 2017 at 12:54:35 AM UTC+2, Tom Keffer wrote: > > Yes, the code did change. > > Before, it always passed in the hostname and port, which caused MySQL to > always use a TCP/IP connection. Now it adds the port only if the hostname > is 'localhost' or '127.0.0.1'. > > I suspect that you were connecting via TCP/IP all along. The change just > exposed the problem. But, I'm not a MySQL (let alone MariaDB) expert! > > Try Googling "Can't connect to local MySQL server through socket > '/var/lib/mysql/mysql.sock' " and see what you come up with. You may have > to configure your installation explicitly to use /var/lib/mysql/mysql.sock. > > -tk > > > > On Mon, Mar 13, 2017 at 3:01 PM, Theophanis Kontogiannis <[email protected] > <javascript:>> wrote: > >> Hello All, >> >> I have a mariadb on CEntOS 7.3 with non-standard datadir and socket. >> >> The configuration is implemented via drop in files. >> >> [root@tweety ~]# cat /etc/my.cnf.d/tweety.cnf >> >> >> >> [mysqld] >> datadir=/mnt/services/DBs/mysql >> socket=/mnt/services/DBs/mysql/mysql.sock >> >> [client] >> >> socket=/mnt/services/DBs/mysql/mysql.sock >> >> >> The weewx configuration is: >> >> [[MySQL]] >> driver = weedb.mysql >> # The host where the database is located >> host = *localhost* >> # The user name for logging in to the host >> user = weewx >> # The password for the user name. Put in quotes to guard against >> parsing errors. >> password = ***** >> >> >> I keep on getting an error on weewx launch: >> >> engine: Database OperationalError exception: (2002, "Can't connect to >> local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)") >> >> >> >> Tried to 'setenforce 0' but I get the same error. >> >> Tried to add the non-standard socket in the /etc/my.cnf main config file >> still no luck. >> >> The only way to make it work is to change the weewx.conf to force it use >> the TCP/IP connector instead of the default socket connector. >> >> [[MySQL]] >> >> # The host where the database is located >> >> host = *127.0.0.1* >> >> >> Is the socket location hard coded in the weedb.mysql? >> >> Is there something else I am doing wrong or missed in the documentation? >> >> Is there something that should be changed in the code or added in the >> documentation? >> >> Thank you for your time. >> >> >> >> >> -- >> You received this message because you are subscribed to the Google Groups >> "weewx-user" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to [email protected] <javascript:>. >> For more options, visit https://groups.google.com/d/optout. >> > > -- You received this message because you are subscribed to the Google Groups "weewx-user" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
