Mysql
 sql >> Database >  >> RDS >> Mysql

Come reimpostare la password degli utenti root di MySQL

ServerPilot configura MySQL per gestire i database sul tuo server. In genere, quando si accede a SSH come root utente, dovrai solo digitare quanto segue al prompt della riga di comando (SSH) per accedere a MySQL:

mysql

Questo comando farà automaticamente riferimento al file che contiene la root di MySQL password MySQL dell'utente in modo da non doverla digitare. La password di root per MySQL è contenuta in questo file:

/root/.my.cnf

Se per qualsiasi motivo è necessario modificare la password, è necessario eseguire alcuni passaggi. Tieni presente che qui ci sono due diversi processi:uno per una situazione in cui la password MySQL di root è attualmente funzionante e uno per una password MySQL di root non funzionante.

Nota:il registro degli errori di MySQL è un buon posto per trovare problemi con MySQL e si trova qui:

/var/log/mysql/error.log
Avvertimento! Si consiglia di eseguire uno snapshot del server prima di eseguire attività come queste.

Modifica di una password radice MySQL funzionante

Questa sezione tratta la modifica di una password di root MySQL funzionante, il che significa che puoi accedere a MySQL come root utente semplicemente digitando mysql al prompt SSH. Non ci saranno tempi di inattività per questo processo se vengono seguiti questi passaggi.

Accedi a SSH come root utente, quindi accedi a MySQL digitando:

mysql

Al prompt di MySQL, digita quanto segue, ma sostituisci inserisci-la-nuova-password-qui con la password effettiva che desideri utilizzare. È necessario lasciare le virgolette singole attorno alla nuova password. Prendi nota della password, poiché nel passaggio successivo dovrai inserirla in un file.

SET PASSWORD FOR root@'localhost' = PASSWORD('put-your-new-password-here');

Esci da MySQL digitando:

quit

Successivamente, dovrai aggiornare il file che contiene la root di MySQL password dell'utente in modo da poter accedere tramite SSH al server come root ed esegui mysql comando senza digitare una password.

sudo nano /root/.my.cnf
Per ulteriori informazioni sull'utilizzo di nano editor di testo, consulta la nostra guida.

Aggiorna il campo della password con la nuova password che hai inserito sopra, salva ed esci dall'editor di testo.

Infine, verifica che la nuova password funzioni:

mysql

Tutto pronto!

Modifica di una password radice MySQL persa o non funzionante

Questa sezione tratta il recupero dell'accesso root a MySQL quando si riceve questo errore:

ERROR 1045: Access denied for user: 'root@localhost' (Using password: YES)
Avvertimento! Questo processo porterà MySQL offline per un breve periodo di tempo; è meglio eseguire questa operazione durante le ore non di punta, quando i tuoi utenti saranno meno colpiti.

Accedi al tuo server tramite SSH come root utente e arresta MySQL digitando:

sudo service mysql stop

Quindi esegui il seguente comando:

sudo test ! -e /var/run/mysqld && sudo mkdir -p /var/run/mysqld && sudo chown mysql:mysql /var/run/mysqld

Non restituirà alcun output. Avvia MySQL in una modalità speciale digitando questo:

sudo mysqld --skip-grant-tables --skip-networking &

Il suo output dovrebbe essere simile al seguente, anche se il numero visualizzato sarà diverso:

sudo mysqld --skip-grant-tables --skip-networking &
[1] 14744

Verrai quindi restituito al prompt SSH standard. Ora, digita quanto segue per accedere a MySQL:

mysql

Non ti verrà richiesta una password e dovrebbe assomigliare a questa:

~# mysql
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 3
Server version: 5.7.25-0ubuntu0.16.04.2-log (Ubuntu)
Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
Owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>

Emetti il ​​seguente comando che ti permetterà di cambiare la password:

FLUSH PRIVILEGES;

Che produce:

Query OK, 0 rows affected (0.00 sec)

Successivamente, reimpostiamo la password effettiva modificando inserire-la-nuova-password-qui alla tua password attuale. Prendi nota della password che hai impostato, poiché dovremo inserirla in /root/.my.cnf quando abbiamo finito, e per favore conserva anche le virgolette singole intorno alla nuova password.

SET PASSWORD FOR root@'localhost' = PASSWORD('put-your-new-password-here');

Dovresti ricevere una notifica come:

Query OK, 0 rows affected, 1 warning (0.00 sec)

Esci da MySQL digitando:

quit

Quindi, digita il seguente comando:

sudo killall mysqld

Nessun output verrà restituito. Ora avviamo MySQL normalmente:

sudo service mysql start

Infine, se hai cambiato la password rispetto a quella che era in /root/.my.cnf , dovrai aggiornare quel file. Se hai utilizzato lo stesso valore, non è necessario eseguire questo passaggio:

sudo nano /root/.my.cnf

Aggiorna il campo della password lì, quindi salva ed esci dall'editor di testo.

Ora dovresti essere in grado di accedere con successo a MySQL come root utente digitando il seguente comando:

mysql