Schrolli91 / BOSWatch

Python Script to process input data from rtl_fm and multimon-NG - multiple Plugin support
https://bwcc.boswatch.de
GNU General Public License v2.0
132 stars 60 forks source link

Cannot connect to MySQL #344

Closed budda85 closed 6 years ago

budda85 commented 6 years ago

Hallo zusammen, ich probiere gerade, dass BOSwatch in eine MariaDB 10, auf einem Synology NAS schreibt. Leider bekomme ich anscheinend keine Verbindung aufgebaut.

22.12.2017 10:26:15 - MySQL [ERROR ] cannot connect to MySQL

Teste ich die Verbindung mit einem PC und z.B. SQLyog mit den selben Zugangsdaten funktiniert alles und ich kann die Tabellen sehen. Woran kann das liegen?

config.ini

[MySQL] dbserver = 192.168.0.90:3307 dbuser = boswatch dbpassword = xxxxx database = boswatch

tableFMS = bos_fms tableZVEI = bos_zvei tablePOC = bos_pocsag tableSIG = bos_signal

Log-Auszug:

22.12.2017 10:32:50 - MySQL [DEBUG ] cannot connect to MySQL Traceback (most recent call last): File "/opt/boswatch/plugins/MySQL/MySQL.py", line 94, in run connection = mysql.connector.connect(host = globalVars.config.get("MySQL","dbserver"), user = globalVars.config.get("MySQL","dbuser"), passwd = globalVars.config.get("MySQL","dbpassword"), db = globalVars.config.get("MySQL","database"), charset='utf8') File "/usr/local/lib/python2.7/dist-packages/mysql/connector/init.py", line 44, in Connect return MySQLConnection(*args, kwargs) File "/usr/local/lib/python2.7/dist-packages/mysql/connector/connection.py", line 107, in init self.connect(kwargs) File "/usr/local/lib/python2.7/dist-packages/mysql/connector/connection.py", line 346, in connect self._open_connection() File "/usr/local/lib/python2.7/dist-packages/mysql/connector/connection.py", line 309, in _open_connection self._socket.open_connection() File "/usr/local/lib/python2.7/dist-packages/mysql/connector/network.py", line 367, in open_connection errno=2003, values=(self.server_host, err[1])) InterfaceError: 2003: Can't connect to MySQL server on '192.168.0.90:3307' (Name or service not known) 22.12.2017 10:32:50 - MySQL [DEBUG ] close MySQL

Server Information For - boswatch@192.168.0.90


MySQL Version : 10.0.32-MariaDB Host : 192.168.0.90 User : boswatch Port : 3307 Server Default Charset : utf8

Table Information


Name Engine Version Row_format


bos_fms MyISAM 10 Dynamic
bos_pocsag MyISAM 10 Dynamic
bos_signal MyISAM 10 Dynamic
bos_zvei MyISAM 10 Dynamic

Danke und Gruß Jan

thejockel commented 6 years ago

Moin, kannst du einmal versuchen den Default-Port (3306) zunehmen?

Könnte mir vorstellen, dass das Problem daher kommt. Stelle das nachher bei mir mal nach.

thejockel commented 6 years ago

Moin, habe grade mal in dem Code geschaut. Beim "mysql.connector.connect" wird zur Zeit kein Port mit übergeben. Also nur der default 3306 verwendet.

Für dich wäre jetzt die Lösung in der MySQL.py die Zeile 94 anzupassen.

Original: connection = mysql.connector.connect(host = globalVars.config.get("MySQL","dbserver"), user = globalVars.config.get("MySQL","dbuser"), passwd = globalVars.config.get("MySQL","dbpassword"), db = globalVars.config.get("MySQL","database"), charset='utf8')

Neu: connection = mysql.connector.connect(host = globalVars.config.get("MySQL","dbserver"), user = globalVars.config.get("MySQL","dbuser"), passwd = globalVars.config.get("MySQL","dbpassword"), db = globalVars.config.get("MySQL","database"), charset='utf8', port=3307)

Schrolli91 commented 6 years ago

Das geht ja glatt als Bug durch... Port vergessen.. na also sowas :-D @thejockel wärst du bereit das nachzuziehen mit nem config Eintrag?

thejockel commented 6 years ago

Ich würde es eher als feature sehen.

@Schrolli91 - done PR - #345

Schrolli91 commented 6 years ago

Na dann @budda85 wäre nett wenn du den verlinkten Pull Request einfach mal testen könntest.

budda85 commented 6 years ago

Ich bin nicht so der Git Profi und habe keine Ahnung wie ich den Teil aus dem Git runterladen kann, aber ich habe es mal abgetippt. Der Teil für den Port in der MySql.py ist als host deklariert, hier muss port stehen. Aber mit port klappt dann alles. connection = mysql.connector.connect(host = globalVars.config.get("MySQL","dbserver"), port = globalVars.config.get("MySQL","dbport"), user ..... Ich Danke euch für den schnellen Support

Schrolli91 commented 6 years ago

ist inzwischen sowieso in den aktuellen develop branch eingeflossen und sollte laufen ...