351 Stimmen

Fernzugriff auf die MySQL-Datenbank von einer beliebigen IP-Adresse aus gewähren

Ich bin mir dieses Befehls bewusst:

GRANT ALL PRIVILEGES
ON database.*
TO 'user'@'yourremotehost'
IDENTIFIED BY 'newpassword';

Aber dann kann ich nur einer bestimmten IP-Adresse den Zugriff auf diese entfernte MySQL-Datenbank erlauben. Was ist, wenn ich möchte, dass jeder Remote-Host auf diese MySQL-Datenbank zugreifen kann? Wie kann ich das tun? Im Grunde mache ich diese Datenbank öffentlich, so dass jeder darauf zugreifen kann.

8voto

user3846464 Punkte 89
GRANT ALL PRIVILEGES ON *.* TO 'user'@'ipadress'

5voto

Tejas Tank Punkte 978

Datei bearbeiten:

/etc/mysql/percona-server.cnf

Fügen Sie den folgenden Code in die Datei ein.

[mysqld] bind-address = 0.0.0.0

Benutzer für Fernzugriff anlegen.

$ mysql -u root -p      
mysql> GRANT ALL ON *.* to snippetbucketdotcom@'%' IDENTIFIED BY 'tejastank';   
mysql> FLUSH PRIVILEGES;    
mysql> exit

Alle Linux-Server funktionieren,

Für MSWin c:\ Find insatallation location \ file path

5voto

Moh .S Punkte 1704
  • STARTEN Sie MYSQL mit dem Benutzer admin
    • mysql -u admin-user -p (PASSWORT AUF PROMPT EINGEBEN)
  • Erstellen Sie einen neuen Benutzer:
    • CREATE USER 'newuser'@'%' IDENTIFIED BY 'password'; (% -> anyhost)
  • Privilegien erteilen:
    • GRANT SELECT,DELETE,INSERT,UPDATE ON db_name.* TO 'newuser'@'%';
    • PRIVILEGIEN ZUM SPÜLEN;

Wenn Sie eine EC2-Instanz betreiben, vergessen Sie nicht, die eingehenden Regeln in der Sicherheitsgruppe mit MYSQL/Aurura hinzuzufügen.

3voto

Diogo Mendes Punkte 31

Erstellen Sie einfach einen Benutzer in einer Datenbank wie

GRANT ALL PRIVILEGES ON <database_name>.* TO '<username>'@'%' IDENTIFIED BY '<password>'

Dann gehen Sie zu

sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf und ändern Sie die Zeile bind-address = 127.0.0.1 a bind-address = 0.0.0.0

Danach können Sie von jeder IP aus eine Verbindung zu dieser Datenbank herstellen.

3voto

Usman Yousaf Punkte 203

Öffnen Sie Ihr mysql console und führen Sie den folgenden Befehl aus (geben Sie Ihren Datenbanknamen, Ihren Benutzernamen und Ihr Passwort ein):

GRANT ALL ON yourdatabasename.* TO admin@'%' IDENTIFIED BY yourRootPassword';

Dann Ausführen:

PRIVILEGIEN ZUM SPÜLEN;

Befehlszeile öffnen und die Datei öffnen /etc/mysql/mysql.conf.d/mysqld.cnf mit einem beliebigen Editor mit root privileges .

Zum Beispiel:

sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf

Dann kommentieren Sie die folgende Zeile aus:

bind-adresse = 127.0.0.1

Starten Sie mysql mit dem Befehl neu, um die Änderungen zu berücksichtigen:

sudo service mysql restart

Viel Spaß ;)

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X