Come posso reimpostare la password root di MariaDB su un'istanza Amazon Elastic Compute Cloud (Amazon EC2) che esegue Amazon Linux 2?
Breve descrizione
Per impostazione predefinita, MariaDB 5.5 su Amazon Linux 2 non ha una password root. Se si crea una password root per MariaDB e poi non si riesce ad accedere al database, è necessario reimpostare la password root.
Nota: Non puoi interrogare il tuo database durante la reimpostazione della password root.
Risoluzione
1. Assicurati di disporre di un'istantanea recente del volume in cui risiede la directory dei dati di MariaDB. Potrai ricreare il volume da questa istantanea, se necessario.
2. Arresta il servizio MariaDB:
sudo systemctl stop mariadb
3. Avvia MariaDB in modalità sicura:
sudo mysqld_safe --skip-grant-tables --skip-networking &
4. Esegui il seguente comando per impostare la cronologia dei comandi MariaDB su /dev/null e accedere al monitor MariaDB:
Importante: L'impostazione della cronologia dei comandi su /dev/null impedisce che le informazioni sulla password vengano visualizzate come testo normale nel file di cronologia. È possibile reimpostare questo valore dopo aver completato l'intera procedura.
export MYSQL_HISTFILE=/dev/null
mysql -u root
5. Aggiorna la password root di MariaDB:
UPDATE mysql.user SET Password = PASSWORD('new_password_here') WHERE User = 'root';
L'output è simile al seguente:
Query OK, 1 row affected (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 0
6. Elimina i privilegi per ricaricare le tabelle delle concessioni. La nuova password sarà valida dopo la ricarica:
FLUSH PRIVILEGES;
7. Esci dal monitor MariaDB:
exit
8. Arresta il processo MariaDB:
sudo kill `sudo cat /var/run/mariadb/mariadb.pid`
Nota: L'arresto del processo potrebbe richiedere alcuni secondi.
9. Avvia il servizio MariaDB:
sudo systemctl start mariadb
10. Prova la tua nuova password root di MariaDB:
mysql -u root -p