2016-08-24 4 views
0

Ich habe ein Problem mit mysql. Ich versuche den Fernzugriff zuzulassen. Ich fand, dass, wenn ich schreibe in my.cnf:Verbindung kann nicht remote ohne Bind-Adresse hergestellt werden, kann nicht lokal mit ihm verbinden

bind-address = my.ip.address

Es funktioniert Ferne, aber einen PHP-Skript, das die Datenbank mit dem gleichen IP zuzugreifen versucht, nicht arbeite mehr!

Wenn ich diese Zeile entferne, kann ich lokal verbinden, aber nicht entfernt.

Ich habe versucht, es auf 0.0.0.0, die den gleichen Effekt hat, als ob es überhaupt nicht da wäre.

Ich habe gesehen, dass Sie leider nicht an mehrere Adressen binden können. Irgendeine Möglichkeit zu lösen?

Antwort

3

MYSQL Benutzerkonten haben 2 Teile

  1. Die Benutzer-ID
  2. Die Domain, von der sie zu diesem MYSQL Server-Instanz verbinden kann

EG 'root'@'localhost'

So müssen Sie erstellen ein neues Benutzerkonto, Sie möchten nicht extern auf die root ID zugreifen und diese neue Benutzer-ID erlauben, von zu verbinden entweder eine bestimmte IP-Adresse (sicherer) oder jede IP-Adresse

in der Befehlszeile mysql.exe Prozessor woudl Sie tun, um diese

CREATE USER 'somone'@'11.22.33.44' IDENTIFIED BY 'mypass'; 

für eine bestimmte IP-Adresse

Oder

CREATE USER 'somone'@'%' IDENTIFIED BY 'mypass'; 

Um den Zugriff von jeder IP-Adresse im Universum zu ermöglichen, so machen Sie das Passwort eine gute str Ong ein

Dann ordnen Sie privilages auf eine oder mehrere Datenbanken auf diesem neuen Konto

GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP 
ON database_name.* 
TO 'someone'@'%'; 

Referenzen

CREATE USER http://dev.mysql.com/doc/refman/5.7/en/create-user.html

Grant-http://dev.mysql.com/doc/refman/5.7/en/adding-users.html

+0

Ich denke, dass erledigt. Ich habe mit einem GUI-Programm für diese Berechtigungen durcheinandergebracht und es geschafft, Dinge durcheinander zu bringen. Aber nachdem ich diese Antwort gesehen hatte, konnte ich die Dinge klären. Vielen Dank. – user3413723

Verwandte Themen