Connect mit Online MySQL Datenbank funktioniert nicht

Installation und Anwendung von Datenbankschnittstellen wie SQLite, PostgreSQL, MySQL, der DB-API 2.0 und sonstigen Datenbanksystemen.
Antworten
Amschti
User
Beiträge: 2
Registriert: Freitag 7. Januar 2022, 17:15

Hallo miteinander!
Vorwort, ich habe noch praktisch keinerlei erfahrung in Python. Ich lerne mit Learning by doing.
Ich Programmiere in Java, Typescript und PHP seit Jahren erfolgreich.Nun möchte ich auch Python erlernen.

Ich plane ein kleine Software, eine art Bildgallery die unsere Bierkarte. Diese zeigt auch infos wie Teuer und sonstige details zur Biersorte.
Unsere Karte ist moment online abgespeichert, die Infos in einer MySQL db abgespeichert.

Da Python mich sehr an Typescript erinnert bin ich doch sehr schnell reingekommen
nun finde ich alles nur beispiele mit Localhost. das funktioniert auch Problemlos

Nun habe ich aber mehrfach versucht :

Code: Alles auswählen

import pymysql as newmysql
db2 = newmysql.connect(
                     host="mysql20adm.webland.ch",    # your host, usually localhost
                     user="user",         # your username
                     passwd="passwort",  # your password
                     db="dada"
)
wenn ich http://mysql20adm.webland.ch oder https://mysql20adm.webland.ch angebe kommt

pymysql.err.OperationalError: (2003, "Can't connect to MySQL server on 'http://mysql20adm.webland.ch' ([Errno 11001] getaddrinfo failed)")

wenn ich wie oben gezeigt versuche zu verbinden, dauert das debugging etwas länger, schlussendlich jedoch bekomme ich ein (timeout)

pymysql.err.OperationalError: (2003, "Can't connect to MySQL server on 'mysql20adm.webland.ch' (timed out)")

Ich habe die Firewall am Laptop mal deaktiviert, um dies auszuschliessen.
Nun mein letzter verzweifelter versuch, ein Forum finden das mit hilft, da beim googlen immer nur beispiele mit localhost kommen, ich denke/hoffe mal, das dies doch funktionieren sollte ;)
Brauch ich da noch irgendeine Libary das die "App" online tauglich macht?
__deets__
User
Beiträge: 12471
Registriert: Mittwoch 14. Oktober 2015, 14:29

Ich hoffe ja eher nicht, dass es funktioniert. Denn das würde bedeuten deine Datenbank ist von Hinz und kunz aus dem Internet erreichbar. Das wäre eine Katastrophe, weil es eine sicherheitslücke darstellt. Aber es scheint, als ob der Hoster das auch nicht zulässt. Gut so.

Ein Weg darum, der sicher ist: ein SSH Tunnel auf das System. Das leitet einfach jeden Verkehr an einen lokalen Ort weiter. Dann verbindet man sich wieder mit localhost.
Amschti
User
Beiträge: 2
Registriert: Freitag 7. Januar 2022, 17:15

hmmmm, macht sinn, weil der code einlesbar/intepretierbar ist? 🤔.....
ich hab mich mal kurz über google bezüglich ssh schlaugemacht, kannst du mit ein beispiel verlinken der mir bei diesem Beispiel hilft? oder gibt es für python andere wege, wie ich diese "Bildgallery" erstellen kann?
z.b. arbeite ich auch oft mit der echtzeitdatenbank von google?
oder eine PHP seite die ein Json erstellt, womit ich dann über eine python app abrufen kann? wie würdest du das z.b. gestallten?
Antworten