Per fornire l'accesso multiutente a una serie di database è stato sviluppato un sistema di gestione di database relazionali che viene eseguito su un server e chiamato MySQL. MySQL è sviluppato sotto GNU General Public License e il suo codice sorgente è disponibile nei termini definiti. MySQL è una scelta popolare di database da utilizzare nelle applicazioni Web e funziona molto bene con gli account di hosting cPanel per archiviare i dati di qualsiasi sito Web. E supponiamo che se hai dimenticato la password root di MySQL e non sei in grado di accedere al tuo servizio MySQL, devi reimpostare la password dell'utente root di MySQL utilizzando i seguenti passaggi spiegati in questo articolo.
Esaminiamo i passaggi per reimpostare la password di root MYSQL per il server Plain, il server cPanel e il server Plesk.
Reimposta la password di root MySQL per il server normale
Passaggi per reimpostare la password di root MySQL per Plain Server, su Centos 6 Plain.
Passaggio 1: [email protetta] [~]# /etc/init.d/mysqld stop Oppure [email protetta] [~]# servizio mysqld stop
Passaggio 2: Avvia il server MySQL senza password:
[email protetta] [~]# mysqld_safe –skip-grant-tables &
Passaggio 3: [email protetta] [~]# mysql
Successivamente, puoi ottenere il prompt di mysql, quindi eseguire il comando seguente.
Passaggio 4: mysql>usa mysql;
Passaggio 5: mysql> AGGIORNAMENTO utente SET password=PASSWORD('NEWPASSWORD') WHERE Utente='root';
Passaggio 6: mysql> esci
Passaggio 7: [email protetta] [~]# /etc/init.d/mysqld stop
Passaggio 8: [email protetta] [~]# /etc/init.d/mysqld start
Ora puoi accedere al tuo servizio mysql utilizzando
Passaggio 9: [[email protetta] ~]# mysql -u root -p
Su Centos 7 sotto i comandi
Tramite SystemD è necessario utilizzare il seguente comando
Passaggio 1: [email protetta] [~]# systemctl stop mysql
Passaggio 2: [email protetta] [~]# systemctl set-environment MYSQLD_OPTS=”–skip-grant-tables”
Passaggio 3: [email protetta] [~]# systemctl avvia mysql
Passaggio 4: [email protetta] [~]# systemctl status mysql
Passaggio 5: [email protetta] [~]# mysql -u root
Passaggio 6: mysql> usa mysql;
Passaggio 7: mysql> UPDATE utente SET password=PASSWORD('NEWPASSWORD') WHERE Utente='root';
Passaggio 8: mysql> PRIVILEGI FLUSH;
Passaggio 9: [email protetta] [~]# systemctl stop mysql
Passaggio 10: [email protetta] [~]# systemctl unset-environment MYSQLD_OPTS
Passaggio 11: [email protetta] [~]# systemctl avvia mysql
Ora puoi accedere al tuo servizio mysql utilizzando
Passaggio 12: [[email protetta] ~]# mysql -u root –p
Attraverso SysVinit è necessario utilizzare il seguente comando
- [email protetta] [~]# /etc/init.d/mysqld stop
- [email protetta] [~]# mysqld_safe –skip-grant-tables &
- [email protetta] [~]# systemctl status mysql
- [email protetta] [~]# mysql -u root
- mysql> usa mysql;
- mysql> AGGIORNA utente SET password=PASSWORD('NEWPASSWORD') WHERE Utente='root';
- mysql> PRIVILEGI FLUSH;
- [email protetta] [~]# /etc/init.d/mysql stop
- [email protetta] [~]# /etc/init.d/mysql start
Ora puoi accedere al tuo servizio mysql utilizzando
[[email protetta] ~]# mysql -u root –p
Passaggi per il server cPanel
Passaggio 1: Su tutti i server cPanel/WHM in esecuzione, le credenziali MySQL di root sono memorizzati localmente in un file. Questo file è accessibile solo per l'utente root.
Devi accedere alla CLI del server come utente root e visualizzare le credenziali in /root/.my.cnf file
Comando-
[email protetta] [~]# cat /root/.my.cnf
Questo dovrebbe produrre un risultato contenente la password MySQL , che apparirà simile al seguente:
[email protetta] [~]# cat /root/.my.cnf
[cliente] password=“Password”
utente=root
Prendere nota della password corrente.
Passaggio 2: La password può anche essere ripristinata la password MySQL di root da WHM
- Accedi a WHM
- Vai all'opzione Servizi SQL
- Seleziona la password radice MySQL
- Inserisci la nuova password e fai clic sul pulsante Modifica password.
- Questo processo cambierà la password di root MySQL del server.
Passaggio 3: Se menzionato sopra, entrambi i passaggi non funzionano per reimpostare la password di root, segui i passaggi per reimpostare la password per il server Plain.
Passaggi per il server Plesk
Su un server Plesk l'amministratore è l'utente principale.
Nota:questa soluzione si applica a una situazione in cui la password dell'utente "admin"@"localhost" è stata modificata manualmente.
Imposta la password dell'amministratore MySQL uguale alla password specificata in /etc/psa/.psa.shadow file.
Passaggi:
Passaggio 1: Connettiti al server Plesk tramite SSH.
Passaggio 2: Scarica lo script per il ripristino automatizzato dell'amministratore MySQL:
# curl -LO https://plesk.zendesk.com/hc/article_attachments/360042955514/213364309-restore-admin-user.php.tar.gz
Passaggio 3: Disimballalo:
# tar xf 213364309-restore-admin-user.php.tar.gz
Passaggio 4: Esegui lo script:
# plesk php 213364309-restore-admin-user.php
Passaggio 5: Prova ad accedere di nuovo a Plesk. Se la soluzione automatizzata non ha aiutato, applica la soluzione manuale.
Controlliamo la soluzione Manuale:
Passaggio 1: Connettiti al server Plesk tramite SSH.
Passaggio 2: Con il comando seguente, controlla se la direttiva old-passwords esiste nel file di configurazione MySQL my.cnf (nessun output significa che non esiste):
# grep -ir old-passwords /etc/my*
Se esiste, rimuovilo utilizzando un editor di testo.
Passaggio 3: Ottieni una password con hash dell'utente amministratore MySQL e copiala negli appunti:
Nota:assicurati che nel file sia specificata una sola password.
# grep AES /etc/psa/.psa.shadow
Ecco un esempio di password con hash:
$AES-128-CBC$ZmY/EEpy1+TwCNq5kalqSA==$Pd02kf4TTlpXdi/qyeo92w==
Passaggio 4: Modifica il mio file.cnf:
4.1. Apri il file my.cnf in un editor di testo. In questo esempio, stiamo usando l'editor vi:
- Su distribuzioni basate su CentOS/RHEL
# vi /etc/my.cnf
- Su distribuzioni basate su Debian/Ubuntu
# vi /etc/mysql/mio.cnf
4.2. Aggiungi la riga skip-grant-tables nella sezione [mysqld]:
[mysqld]
skip-grant-tables <…>
4.3. Salva le modifiche e chiudi il file.
Passaggio 5: Riavvia MySQL. Il comando dipende dalla versione di MySQL e dal sistema operativo:
# riavvio del servizio mariadb
# riavvio del servizio MySQL
# riavvio del servizio mysqld
Passaggio 6: Connetti a MySQL:
# plesk db
Passaggio 7: Passa al database MySQL:
mysql> usa mysql;
Passaggio 8: Trova la versione di MySQL:
mysql> SELEZIONA VERSIONE();
Passaggio 9: Ricarica la cache delle tabelle ACL:
mysql> PRIVILEGI FLUSH;
Nota:una volta eseguito il comando precedente, non uscire dalla sessione MySQL corrente poiché questo comando carica di nuovo le tabelle di concessione.
Passaggio 10: Ripristina l'utente amministratore MySQL:
- Per MySQL 5.1 fino a 5.6 e MariaDB 5.5 fino a 10.4
1. Elimina l'attuale utente amministratore :
mysql> DROP USER 'admin'@'localhost';
2. Crea un nuovo utente amministratore con la password con hash dal passaggio 3:
mysql> CREA UTENTE 'admin'@'localhost' IDENTIFICATO DA 'HASHED_PASSWORD_FROM_STEP_3';
3. Concedi tutte le autorizzazioni all'utente amministratore:
mysql> GRANT ALL ON *.* A 'admin'@'localhost' CON L'OPZIONE GRANT;
4. Esci da MySQL:
mysql> esci
- Per MySQL 5.7 fino a 8.0
1. Rilascia l'attuale amministratore utente:
mysql> DROP USER 'admin'@'localhost';
2. Crea un nuovo utente amministratore con la password con hash dal passaggio 3:
mysql> CREA UTENTE "admin"@"localhost" IDENTIFICATO CON "mysql_native_password" DA "HASHED_PASSWORD_FROM_STEP_3";
3. Concedi tutte le autorizzazioni all'utente amministratore:
mysql> GRANT ALL ON *.* A 'admin'@'localhost' CON L'OPZIONE GRANT;
4. Esci da MySQL:
mysql> esci
Passaggio 11: Rimuovi le tabelle skip-grant riga dal file my.cnf (passaggio 4).
Passaggio 12: Riavvia MySQL:
# riavvio del servizio mariadb
# riavvio del servizio MySQL
# riavvio del servizio mysqld