Seguono le istruzioni per resettare una password di root di mysql:
# stoppare mysqld
#killall mysqld
# lanciare mysqld con l'opzione skip-grant-tables, che evita di caricare le tabelle di sistema (tra cui anche quella degli accessi) fornendo libero accesso al servizio mysqld
# /usr/libexec/mysqld -Sg --user=root &
/usr/libexec/mysqld: ready for connections
# entrare in modalità client
# mysql
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 1 to server version: 3.23.56
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
#collegarsi al db mysql e inserire la query di update di cambio password
mysql> USE mysql
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
mysql> UPDATE user
-> SET password=password("mianuovapassword")
-> WHERE user="root";
Query OK, 2 rows affected (0.00 sec)
Rows matched: 2 Changed: 2 Warnings: 0
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
mysql> exit
Reset password MySQL
Questo invece, trovato tramite ricerca su google, funziona:
http://www.tech-faq.com/reset-mysql-password.shtml
How to Reset a MySQL Password in 5 Easy Steps
1. Stop the mysqld daemon process.
2. Start the mysqld daemon process with the --skip-grant-tables option.
3. Start the mysql client with the -u root option.
4. Execute the UPDATE mysql.user SET Password=PASSWORD('password') WHERE User='root';
5. Execute the FLUSH PRIVILEGES; command.
These steps reset the password for the "root" account to "password". To change the password for a different account, or to set a different password, just edit the variables in single-quotes in step 4.
If you know your existing MySQL root password, steps 1-3 are not necessary.
Obsoleta
Non funziona piu` e non specifica con che versioni funziona
RispondiSwitch -Sg
In MySQL 5 al posto di -Sg va --skip-grant-tables
Rispondiupdate
con le ultime versioni invece di -Sg bisogna usare l'opzione per esteso: --skip-grant-tables