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.logAvvertimento! 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.cnfPer 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