martedì 11 dicembre 2007

Mysql: cambiare la password dell'utente root


  1. Login come root sulla macchina Windows or Unix (Unix, Linux or BSD) su cui gira il server MySQL server.
  2. Fermare il server MySQL usando uno dei seguenti comandi

    Linux: /etc/rc.d/init.d/mysql stop
    FreeBSD: /usr/local/etc/rc.d/mysql-server.sh stop

  3. Aprire lo script di partenza di mysql (esempio: mysql-server.sh - il file eseguito per lo start e lo stop del server MySQL.
  4. Aggiungere --skip-grant-tables alla fine della linea che contiene il comando mysqld_safe command come suo parametro.
  5. Far partire il server MySQL con il comando seguente:

    Linux: /etc/rc.d/init.d/mysql start
    FreeBSD: /usr/local/etc/rc.d/mysql-server.sh start

  6. In alternativa potete evitare di editare il file di avvio e lanciare direttamente il server MySQL con il comando seguente:

    mysqld_safe --skip-grant-tables &

    A seconda della vostra installazione potreste dover aggiungere il path completo del comando mysqld_safe.

  7. Eseguire il comando seguente per loggarsi come utente mysql e connettersi al database contenente utenti e permessi di mysql:

    # mysql -u root mysql

  8. Eseguire le query di update per cambiare la password di MySQL:

    mysql> UPDATE user SET Password=PASSWORD(’newrootpassword’) WHERE User=’root’;
    mysql> FLUSH PRIVILEGES;

    ATTENZIONE: rimpiazzare newrootpassword con la nuova password di root per il server MySQL. Flush Privileges rende immediatamente disponibile la nuova password.

  9. Uscire dal client mysql digitando exit.
  10. Fermare il server MySQL con i comandi elencati al punto 2.
  11. Aprite lo script modificato al punto 3 e togliete il parametro --skip-grant-tables che era stato aggiunto.
  12. Fate partire il server MySQL usando i comandi ai punti 5 o 6.

5 commenti:

Unknown ha detto...

Ho seguito le istruzioni..ma non so perchè mi da questo errore
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '��giuseppe’) WHERE User=’root’' at line 1

quando immetto dal prompt di sql il comando di update per la password..
Help me

Francesco Conti ha detto...

Puoi riportare anche il comando che hai digitato tu? Non riesco a capire cosa possano essere quei due caratteri prima di giuseppe, sono forse delle vocali accentate?

Unknown ha detto...

Risolto ho disinstallato mysql e reinstallato perchè a quanto pare c'era qualche problema..e così ho risolto tutto. grazie.

Anonimo ha detto...

quello che stavo cercando, grazie

Anonimo ha detto...

Grazie mi hai risolto un problema