Access denied for user 'root'@'localhost' (using password: NO)

Se si riceve questo errore tentando di fare login al database, bisogna ripristinare la password di root.

  1. Fermare il server MySQL
    /usr/local/etc/rc.d/mysql-server.sh stop (FreeBSD)
    /etc/init.d/mysql stop (Linux)
    
  2. Far ripartire il server MySQL con l'opzione --skip-grant-tables in modo che non richieda nessuna password per fare il login
    mysqld_safe --skip-grant-tables &
    
  3. Connettersi al server come utente "root"
    mysql -u root
    
  4. Impostare una nuova password per l'utente "root"
    mysql> use mysql;
    mysql> update user set password=PASSWORD("LA-MIA-PASSWORD") where User='root';
    mysql> flush privileges;
    mysql> quit
    
  5. Logout e far ripartire normalmente il server