Wie setze ich das MariaDB-Root-Passwort auf einer Instance in der Amazon Elastic Compute Cloud (Amazon EC2) zurück, auf der Amazon Linux 2 ausgeführt wird?
Kurzbeschreibung
Standardmäßig verfügt MariaDB 5.5 auf Amazon Linux 2 über kein Root-Passwort. Wenn Sie ein Root-Passwort für MariaDB erstellen und sich dann von Ihrer Datenbank aussperren, müssen Sie das Root-Passwort zurücksetzen.
Hinweis: Sie können Ihre Datenbank nicht abfragen, während Sie das Root-Passwort zurücksetzen.
Behebung
1. Stellen Sie sicher, dass Sie über einen aktuellen Snapshot des Datenträgers verfügen, auf dem sich das MariaDB-Datenverzeichnis befindet. Sie können den Datenträger bei Bedarf aus diesem Snapshot neu erstellen.
2. Stoppen Sie den MariaDB-Dienst:
sudo systemctl stop mariadb
3. Starten Sie MariaDB in abgesichertem Modus:
sudo mysqld_safe --skip-grant-tables --skip-networking &
4. Führen Sie den folgenden Befehl aus, um den MariaDB-Befehlsverlauf auf /dev/null zu setzen, und melden Sie sich beim MariaDB-Monitor an:
Wichtig: Wenn Sie den Befehlsverlauf auf /dev/null setzen, wird verhindert, dass Ihre Passwortinformationen in der Verlaufsdatei im Klartext erscheinen. Sie können diesen Wert zurücksetzen, nachdem Sie den gesamten Vorgang abgeschlossen haben.
export MYSQL_HISTFILE=/dev/null
mysql -u root
5. Aktualisieren Sie Ihr MariaDB-Root-Passwort:
UPDATE mysql.user SET Password = PASSWORD('new_password_here') WHERE User = 'root';
Die Ausgabe sieht so aus:
Query OK, 1 row affected (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 0
6. Löschen Sie die Rechte, um die Grant-Tabellen neu zu laden. Ihr neues Passwort wird nach dem erneuten Laden wirksam:
FLUSH PRIVILEGES;
7. Beenden Sie den MariaDB-Monitor:
exit
8. Stoppen Sie den MariaDB-Prozess:
sudo kill `sudo cat /var/run/mariadb/mariadb.pid`
Hinweis: Es kann einige Sekunden dauern, bis der Vorgang abgeschlossen ist.
9. Starten Sie den MariaDB-Dienst:
sudo systemctl start mariadb
10. Testen Sie Ihr neues MariaDB-Root-Passwort:
mysql -u root -p