citytow
Goto Top

MySQL Server Extern-Offen im Internet

Hallo Liebe Kollegen,
es geht um folgendes, und zwar habe ich ein LiveConfig Server mit einen Internen Datenbankserver, der Extern nicht erreichbar ist (Das soll auch so bleiben). Nun ist es aber so, das ich eine Seperate Kiste benötige, wo ich DB´s Ablegen kann, die Extern erreichbar sind.

Stand JETZT, man muss einen User via SSH Anlegen, und die jeweiligen Rechte verpassen. Dies möchte ich jedoch so umgehen, das alle neuen Datenbanken Extern erreichbar sind. Ja mir ist die Sicherheits Problematik bekannt, das diese jedoch nur zum Entwicklen sind, und daher relativ uninteressant sind, wäre mir das wurscht.

Wenn ich die Bind Adresse in der conf auskommentiere, bekomme ich trotzdem folgende Meldung

Host 'xx.xx.xx.xx' is not allowed to connect to this MySQL serverConnection closed by foreign host.

Hat einer von euch einen Lösungsansatz ?

Viele Grüße
City

Content-Key: 397918

Url: https://administrator.de/contentid/397918

Ausgedruckt am: 29.03.2024 um 11:03 Uhr

Mitglied: adminst
adminst 11.01.2019 um 10:43:56 Uhr
Goto Top
Hallo City
Du brauchst den Bind Eintrag. Definiere das Interface oder bind-address = 0.0.0.0.

Gruss
adminst
Mitglied: Citytow
Citytow 11.01.2019 um 11:29:24 Uhr
Goto Top
Moin Adminst,
das hab ich schon versucht.

[mysqld]
pid-file        = /var/run/mysqld/mysqld.pid
socket          = /var/run/mysqld/mysqld.sock
datadir         = /var/lib/mysql
log-error       = /var/log/mysql/error.log
# By default we only accept connections from localhost
bind-address    = 0.0.0.0
#skip-networking
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
Mitglied: 129580
129580 11.01.2019 um 11:32:55 Uhr
Goto Top
Hallo,

hast du auch den DB User für den externen Zugriff konfiguriert? Per default wird immer localhost verwendet. face-wink

Viele Grüße,
Exception
Mitglied: Citytow
Citytow 11.01.2019 um 11:41:14 Uhr
Goto Top
Moin Exception,
ja und genau diese Problematik will ich umgehen.

Kann man diesen Default wert nicht auf " host='%"' setzen ? Ich möchte dies nicht für jede DB Separat definieren müssen.

Viele Grüße
Mitglied: 129580
129580 11.01.2019 um 14:38:18 Uhr
Goto Top
Bestehende User lassen sich simple per SQL Query anpassen:
https://serverfault.com/questions/483339/changing-host-permissions-for-m ...

Bei neuen Usern einfach den korrekten Wert beim Hostparameter angeben.
Mitglied: Citytow
Citytow 12.01.2019 um 13:58:18 Uhr
Goto Top
Moin,
also gibt es keine Möglichkeit User/Datenbanken immer via Default extern zugänglich zu machen ?

Liebe Grüße
Mitglied: 129580
129580 12.01.2019 aktualisiert um 14:08:59 Uhr
Goto Top
Nicht das ich wüsste. Aber wo ist das Problem, wenn du einfach beim erstellen des Users den Hostparameter setzt?

Beispiel:
GRANT ALL PRIVILEGES ON *.* TO 'username'@'%' IDENTIFIED BY 'password';  
Mitglied: Citytow
Citytow 12.01.2019 um 15:19:36 Uhr
Goto Top
Weil ich die User nicht direkt über das System anlegen will, sondern dies via SSH Tunnel von einem Anderen System aus passiert

Und JA ... Ich die Typische ITler Krankheit habe "FAUL" :-p


Wobei man könnte en .SH Script schreiben ^^
Mitglied: 129580
Lösung 129580 12.01.2019 aktualisiert um 16:07:44 Uhr
Goto Top
Weil ich die User nicht direkt über das System anlegen will, sondern dies via SSH Tunnel von einem Anderen System aus passiert

Dann verstehe ich das Problem erst recht nicht.

Erstell ein Admin User, weiße diesem dem Host Parameter "%" zu und greif via Remote mit diesem User auf den MySQL Server zu. Nutze diesen Account für die Erstellung weiterer Accounts. Ob mit Script oder per Hand ist ja dann egal. face-wink
Mitglied: Citytow
Citytow 13.01.2019 um 22:07:01 Uhr
Goto Top
Danke hast recht ^^ :-p