Wie kann ich mein Passwort für MySQL löschen? Ich möchte kein Passwort haben, um eine Verbindung zur Datenbank herzustellen. Auf meinem Server läuft Ubuntu.
Wie kann ich mein Passwort für MySQL löschen? Ich möchte kein Passwort haben, um eine Verbindung zur Datenbank herzustellen. Auf meinem Server läuft Ubuntu.
Antworten:
Ich persönlich denke, stattdessen ist es besser, ein Passwort festzulegen und es in /root/.my.cnf zu speichern:
Zuerst:
mysqladmin -u root password 'asdfghjkl'
Bearbeiten Sie dann die .my.cnf-Datei von root:
[client]
password = asdfghjkl
Stellen Sie sicher, zu chmod 0600 .my.cnf
.
Jetzt haben Sie ein Passwort, werden aber nicht mehr dazu aufgefordert. Meine Standardinstallation für MySQL-Server ist ein völlig zufälliges, eindeutiges Kennwort für jeden MySQL-Server, das in der Datei .my.cnf wie folgt gespeichert wird.
mv ./+%Y%m%d
. $ Db.sql $ OUTPUT` zwischen mysqldump und gzip
Wenn Sie ein Kennwort für MySQL festgelegt haben, befolgen Sie die Anweisungen unter Wiederherstellen des MySQL-Stammkennworts und setzen Sie Ihr Kennwort auf null:
Für 5.7.6 und höher
ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass'
Für 5.7.5 und früher
update user set password=PASSWORD("") where User='root';
* benötigt einen DB-Neustart (siehe Anweisungen am Link), damit dies wirksam wird.
sudo service mysql restart
unix_socket
Plugin macht etwas anderes.
Ja, weniger Passwörter können eine gute Sache sein. Öffnen Sie die Datenbank aber nicht nur für jedermann.
über unix_socket:
grant usage on *.* to 'root'@'localhost' identified via unix_socket;
Dadurch erhalten Sie kennwortlosen Mysql-Zugriff für einen lokal angemeldeten Root-Benutzer. Btw. Dies ist die Standardeinstellung in den letzten Ubuntu / Debian-Versionen.
some_user@box: mysql -u root # denied
root@box: mysql # good
some_user@box: sudo mysql # good, if "some_user" has sudo rights.
Erklärende Folien: https://www.slideshare.net/ottokekalainen/less-passwords-more-security-unix-socket-authentication-and-other-mariadb-hardening-tips .