Externer Zugfriff auf phpMyAdmin via ConnectionString

Status
Für weitere Antworten geschlossen.

r_churchy

Benutzer
Mitglied seit
30. Dez 2011
Beiträge
13
Punkte für Reaktionen
0
Punkte
0
Hallo zusammen!

Ich habe auf meiner DS213 eine SQL-Datenbank via phpMyAdmin.

Von einem externen Programm (Visual Studio mit VB-Sprache) möchte ich auf diese Datenbank zugreifen,
funktioniert bis dato aber noch nicht.

Zur Info: Die Synology steht bei mir zu Hause. Das Programm mit dem ich zugreifen möchte habe ich in der Arbeit. Also
zwei verschiedene Standorte.

In Visual Studio habe ich die MySql.Data.MySqlClient importiert.
Aber wie muss ich da jetzt den ConncetionString definieren?

Mit
Dim ServerString As String = "Server=xxxxxxx.synology.me/phpMyAdmin/;User Id=root;Password=xxxxxxxxx;Database=xxxxxxxxx"
bekomme ich das nicht hin.

Bzw. muss ich da noch separte Ports dafür öffnen?

Schöne Grüße
Reinhard
 

fpo4711

Benutzer
Mitglied seit
26. Mai 2010
Beiträge
2.772
Punkte für Reaktionen
1
Punkte
0
Hallo,

wenn Du den MySQL-Server von extern direkt ansprechen willst kommt unter Server nur die Adresse deines DDNS Anbieters. Beispielsweise beispiel.dyndns.org

Zusätzlich mußt Du auch den MySQL-Port (Standard 3306) im Router auf die DS weiterleiten und es muß natürlich in deiner Datenbank auch ein entsprechender Benutzer vorhanden sein der auch von extern (Angabe host) auf den Server zugreifen darf.

Auch würde ich mir an deiner Stelle dann Gedanken machen über a.) Eine VPN-Verbindung - dann kannst Du dir auch die Portweiterleitung sparen oder b.) Eine verschlüsselte Verbindung zum MySQL-Server.

Gruß Frank
 

r_churchy

Benutzer
Mitglied seit
30. Dez 2011
Beiträge
13
Punkte für Reaktionen
0
Punkte
0
Hallo Frank!

Danke für deine rasche Antwort und die guten Ansätze.

Was schlägst du hier in meinem konkreten Fall vor? Das Programm das ich da
mache in Visual Studio habe nicht nur ich in Verwendung sondern auch andere.

Wäre da diese verschlüsselte Weiterleitung besser? Bwz. noch keine Ahnung wie das geht.
Oder passt da auch eine VPN.

Schöne Grüße
Reinhard
 

fpo4711

Benutzer
Mitglied seit
26. Mai 2010
Beiträge
2.772
Punkte für Reaktionen
1
Punkte
0
Hallo,

bei verschiedenen (eventuell nicht vertrauenswürdigen) Benutzern ist sicherlich die Variante nur die Verbindung zum SQL-Server abzusichern die Bessere. Hier mal ein paar Infos zu Absicherung.

Gruß Frank
 

r_churchy

Benutzer
Mitglied seit
30. Dez 2011
Beiträge
13
Punkte für Reaktionen
0
Punkte
0
Hallo Frank!

Das mit dem SSL ist mir derzeit zu viel Arbeit und werde ich mir später mal genauer ansehen, ich brauche nämlich eine schnelle Lösung, zumindest vorübergehend.
Daher habe ich mich nun jetzt mal für die normale Portweiterleitung entschieden.

Ich habe nun bei meinem Routermanager (Netgear), nicht im DSM, eine benutzerdefinierte Portweiterleitung manuell angelegt.

Dienstname: mySQL (frei ausgedacht)
Protokoll: TCP
Erster Port: 3306
Letzter Port: 3306
und bei IP-Adresse des Servers habe ich natürlich diese angegeben.

Stimmt das soweit?
Bei der Synology selbst habe ich sonst (derzeit) nichts gemacht.

Muss ich nun bei meiner NAS einen User anlegen und den selben dann auch nochmal im phpMyAdmin?

Schöne Grüße
Reinhard
 

fpo4711

Benutzer
Mitglied seit
26. Mai 2010
Beiträge
2.772
Punkte für Reaktionen
1
Punkte
0
Hallo Reinhard,

MySQL-User und DS-User sind zwei paar verschiedene Schuhe. Also nur für den MySQL kannst Du diesen Benutzer in phpMyAdmin anlegen. In der DS muß er nicht vorhanden sein. Hab die Maske jetzt nicht im Kopf aber zu jedem Benutzer sollte es ein Feld "host" geben. Hier sollte dann der Platzhalter für "alle" drin stehen. Ich glaube, das ist das Prozentzeichen. Dieser hätte dann auch von extern Zugriff. Daran denken diesem auch die Zugriffsrechte auf die entsprechende Datenbank geben. Auf alle anderen DB's sollte er entsprechend keinen Zugriff erteilt bekommen.

Gruß Frank
 

r_churchy

Benutzer
Mitglied seit
30. Dez 2011
Beiträge
13
Punkte für Reaktionen
0
Punkte
0
Hallo Frank!

Vorab Danke dafür, dass du dir hier so viel Zeit für mich nimmst.
Ein paar Kleinigkeiten hab ich noch:

1. Stimmt das mit dem TCP-Protokoll?
2. Ja das mit dem Host hab ich gemacht, da ist ein %-Zeichen.
Was aber komisch ist, dass ich mich dann bei phpMyAdmin mit dem Benutzer nicht einloggen kann. Nur mit dem root geht's.
Für die Tests hab ich derzeit dem neuen User alle Rechte gegeben, danach wenn alles mal funktioniert werde ich die Rechte nur
auf die jeweilige DB abändern.

3. Muss ich im DSM bei der Routerkonfiguration auch noch was machen?

Schöne Grüße
Reinhard
 

r_churchy

Benutzer
Mitglied seit
30. Dez 2011
Beiträge
13
Punkte für Reaktionen
0
Punkte
0
Guten Morgen!

Habe gerade erfolgreich eine Verbindung von meinem Programm herstellen können.
Melde mich ansonsten nochmal wenn es noch irgendwo Probleme geben sollte.

Schöne Grüße
Reinhard
 
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat