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)