Wenn ich in cPanel als root angemeldet bin und "mysql" ohne Hostnamen und Passwort eingebe, erhalte ich direkten Zugriff auf den Benutzer "mysql root".
Ich möchte dies für einen meiner Nicht-Cpanel-Server tun, bei dem der Linux-Root-Benutzer auf die gleiche Weise wie bei cPanel eine Anmeldung ohne Kennwort für den MySQL-Root-Benutzer erhält.
Ist das möglich ?
/etc/my.cnf
der MySQL-Server zum Booten verwendet. Wenn Sie den mysql-root-Benutzer in das/etc/my.cnf
ANYONE-Verzeichnis eingeben, kann der mysql-Server mit ALLEN Berechtigungen für JEDE Datenbank ohne Kennwort verwendet werden. Iain zeigt auf die eigene Shell des Benutzers.my.cnf
in der Heimat des Roots, was natürlich richtig ist.Wenn Sie für mysql 5.7+ ein leeres Kennwort für die Ersteinrichtung festlegen, wird mysql automatisch
auth_socket
als Strategie verwendet. Ein Versuch, das Passwort zu aktualisieren, ohne die Strategie zu ändern, hat kein Ergebnis. Sie können sich jederzeit ohne Passwort anmelden, wenn dies Ihr Benutzer istroot
.Lösung Führen Sie den folgenden Befehl aus, um die Authentifizierungsstrategie zu ändern und das Kennwort festzulegen
Referenz: https://www.percona.com/blog/2016/03/16/change-user-password-in-mysql-5-7-with-plugin-auth_socket/
quelle
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '';
... BY "";
. Vielen Dank!Ab MySQL 5.6.6 können Sie mit mysql_config_editor eine verschlüsselte Datei erstellen, die Sie automatisch anmeldet:
mysql_config_editor set --login-path=client --host=localhost --user=root --password
Geben Sie dann das Passwort ein, wenn Sie dazu aufgefordert werden.
Hinweis: Wenn in Ihrem Kennwort ein '#' und möglicherweise andere Zeichen enthalten sind, verwenden Sie bei der Eingabe des Kennworts einfache Anführungszeichen.
quelle
Erstellen Sie eine Datei mit nur das MySQL-root-Passwort und nur root kann lesen.
Sie können eine Datenbank mit importieren
oder stellen Sie eine Verbindung zu Ihrer Datenbank her und geben Sie mysql-Befehle aus
quelle
ps
(1) lesen kann