Heim >Datenbank >MySQL-Tutorial >Warum kann ich unter Ubuntu nicht aus der Ferne auf meinen MySQL-Server zugreifen und wie kann ich das Problem beheben?
Remote-Zugriffsversuche auf einen MySQL-Server schlagen mit der Fehlermeldung „Zugriff verweigert“ fehl, obwohl Remote-Berechtigungen gewährt wurden an den Benutzer.
Um Remoteverbindungen in MySQL-Versionen 5.6 und niedriger zu akzeptieren, stellen Sie sicher, dass die folgende Zeile in /etc/mysql/my.cnf nicht auskommentiert ist:
#Replace xxx with your IP Address bind-address = xxx.xxx.xxx.xxx
Alternativ können Sie bind-address = verwenden 0.0.0.0, um Verbindungen von jeder IP zu ermöglichen.
Ändern Sie für MySQL-Versionen 5.7 und höher die Bindungsadresse in /etc/mysql/mysql.conf.d/mysqld.cnf.
MySQL neu starten und die aktualisierte Bindungsadresse mit lsof -i -P | überprüfen grep :3306. Es sollte eine IP-Adresse für Ihren Server zurückgeben.
Erstellen Sie den Remotebenutzer mit den entsprechenden Berechtigungen sowohl in localhost als auch in %:
CREATE USER 'myuser'@'localhost' IDENTIFIED BY 'mypass'; CREATE USER 'myuser'@'%' IDENTIFIED BY 'mypass';
Grant die notwendigen Berechtigungen:
GRANT ALL ON *.* TO 'myuser'@'localhost'; GRANT ALL ON *.* TO 'myuser'@'%';
Zuletzt Flush-Berechtigungen und Beenden:
FLUSH PRIVILEGES; EXIT;
Wenn dies nicht erfolgreich ist, prüfen Sie, ob weitere Fehlermeldungen vorliegen oder überprüfen Sie die my.cnf-Konfiguration. Erwägen Sie die Installation von lsof zur Fehlerbehebung, wenn es nicht verfügbar ist.
Wenn die Änderung der Bindungsadresse in my.cnf das Problem nicht löst, versuchen Sie, es in /etc/mysql/ zu ändern. mariadb.conf.d/50-server.cnf, wo es ursprünglich deklariert wurde.
Das obige ist der detaillierte Inhalt vonWarum kann ich unter Ubuntu nicht aus der Ferne auf meinen MySQL-Server zugreifen und wie kann ich das Problem beheben?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!