Molte volte, capita di installare applicazioni su macchine Linux e non, con password “inventate” sul momento; Nel momento del bisogno, la nostra memoria ha difficoltà nel ricordarla.
Nel mio caso ho non avevo idea di quale fosse la password di root del servizio mysql su macchina CentOS,
Per modificarla ho usato questo rapido sistema che bypassa l’autenticazione in fase di avvio del server MySQL ed una volta avviato il server, con un semplice set di comandi, si forza la scrittura della nuova password.
Spero che questa breve guida vi possa aiutare a risolvere il problema che molte volte affligge DB che vengono poco utilizzati
Ovviamente bisogna disporre dell’account “root” di sistema.
Passaggio #1 (Arrestare il servizio mysql)
# /etc/init.d/mysqld stop
Output:
Stopping MySQL database server: mysqld.
Passaggio #2 Avviare nuovamente il servizio mysqld bypassando le tabelle di autenticazione:
# mysqld_safe --skip-grant-tables &
Output:
[1] 5988 Starting mysqld daemon with databases from /var/lib/mysql mysqld_safe[6025]: started
Passaggio #3 Connessione al database sql con utente root
# mysql -u root
Output:
Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 1 to server version: 4.1.15-Debian_1-log Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql>
Passaggio #4 Impostare la nuova password
mysql> use mysql;
mysql> update user set password=PASSWORD("NUOVA-PASSWORD") where User='root';
mysql> flush privileges;
mysql> quit
Passaggio #5: Riacciare il servizio mysqld
# /etc/init.d/mysql stop
Output:
Stopping MySQL database server: mysqld STOPPING server from pid file /var/run/mysqld/mysqld.pid mysqld_safe[6186]: ended [1]+ Done mysqld_safe --skip-grant-tables
Passaggio #6 Avviare il server mysqld e testare se la password è aggioranta
# /etc/init.d/mysqld start
# mysql -u root -p