Wie verbinde ich mich mit einer Datenbank ohne phpmyadmin?
Mein Freund und ich wollen zusammen eine kleine Webseite mit Login funktion etc. erstellen. Die Webseite läuft auf dem PC von meinem Freund. Dieser hat aber keine phpmyadmin installiert. Nun wollte ich mich gerade zum ersten mal mit diesre Verbinden und naja ich bekomm es nicht hin.
3 Antworten
Ohne PHPmyAdmin werdet ihr direkt im MySQL einen Benutzer mit Kennwort anlegen dürfen, dann eine Datenbank erzeugen, auf die der angelegte Benutzer Zugriffsberechtigungen erhalten muss.
Anschliessend dann in der Datenbank die notwendigen Tabellen anlegen, wenn das nicht durch die Webseite bereits durchgeführt wird.
Ave!
Damit du auf seinen PC und sekundär auf seine Datenbank zugreifen kannst, benötigst du einerseits seine IP und andererseits den entsprechenden Port (3306 für gewöhnlich).
Hier muss der Port vom Router aber auch von außerhalb erreichbar (geöffnet) sein.
Die einfachste Möglichkeit wäre den Router so zu konfigurieren, dass der PC eine selbstständige Portfreigabe übernehmen kann.
Wenn du auf die Website zugreifen kannst, dann scheint die Portfreigabe aktiviert zu sein.
Welchen Fehler erhältst du denn beim Verbindungsversuch?
Faild Connect to MySQL at .... with user ... aber die Daten stimmen alle. Und funktionieren tut die Webseite ja auch.
Ich kann mir zwei Probleme vorstellen:
- Du versuchst auf Localhost oder 127.0.0.1 zu connecten und nicht auf die IP des PC
- Der Nutzer besitzt ausschließlich Rechte für den lokalen Host (user@localhost). In diesem Falle muss der Nutzer Verbindungen von beliebigen Adressen akzeptieren (user@%).
Mein Freund meinte das die Datenbank local gehostet wird. Geht das überhaupt wenn es doch über die Webseite die ja nicht nur local ist geht?
Die Website selbst kann natürlich immer mit einem beliebigen Nutzer auf die Datenbank zugreifen, da die Website und Datenbank auf dem gleichen Host liegen.
Möchtest du jetzt aber auf die Datenbank selbst von außen zugreifen, muss der Nutzer auch Zugriffe von außerhalb erlauben. Das solltet ihr einmal prüfen.
Wenn der Nutzer so eingerichtet ist, dass er nur auf Localhost reagiert, kann man auch nur mit diesem Host verbinden.
Verbindungen von außen werden komplett blockiert.
So:
UPDATE mysql.user SET Host='%' WHERE User='username';
-> username in User='username' natürlich entsprechend anpassen.
und dann:
FLUSH PRIVILEGES;
Hinweis: Man sollte einem Nutzer, der von außen erreichbar ist keine root Rechte geben!
mit jedem MySQL Client der Zugriff hat
Also auf der Webseite klappt alles mit anmelden etc. dann ist doch alles richtig eingestellt oder?