Mysql
 sql >> Datenbank >  >> RDS >> Mysql

MySQL-Root-Zugriff von allen Hosts

Aktualisierung:

Wie in den Kommentaren erwähnt, müssen Sie seit MySQL 8 zuerst den Benutzer explizit erstellen, damit der Befehl wie folgt aussieht:

CREATE USER 'root'@'%' IDENTIFIED BY 'root'; GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;

Ursprüngliche Antwort:

Es gibt zwei Schritte in diesem Prozess:

a) Privilegien gewähren. Führen Sie als Root-Benutzer dieses ersetzende 'password' aus mit Ihrem aktuellen Root-Passwort :

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'password';

b) an alle Adressen binden:

Der einfachste Weg ist das Auskommentieren die Zeile in Ihrer my.cnf Datei:

#bind-address = 127.0.0.1 

und mysql neu starten

service mysql restart

Standardmäßig bindet es nur an localhost, aber wenn Sie die Zeile auskommentieren, bindet es an alle Schnittstellen, die es findet. Das Auskommentieren der Zeile entspricht bind-address=* .

Um zu überprüfen, wo der mysql-Dienst gebunden ist, führen Sie als root aus:

netstat -tupan | grep mysql

Update für Ubuntu 16:

Konfigurationsdatei ist (jetzt)

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

(zumindest auf Standard-Ubuntu 16)