Mysql
 sql >> Database >  >> RDS >> Mysql

Modifica e reimposta la password principale di MySQL

Esistono molti modi per reimpostare e modificare la password di root per il database MySQL, nel caso in cui la password venga dimenticata o persa, o semplicemente desideri rendere la password più sicura con un algoritmo complesso e modifiche regolari. Le seguenti istruzioni spiegano in dettaglio il modo alternativo nell'ultima parte della guida sopra menzionata, dove non è necessario creare file aggiuntivi:

  1. Accedi come root alla macchina Windows o simile a Unix (Unix, Linux o BSD) con il server MySQL.
  2. Arresta il server MySQL utilizzando uno dei seguenti comandi:

    Linux:

    /etc/rc.d/init.d/mysql stop

    FreeBSD:

    /usr/local/etc/rc.d/mysql-server.sh stop
  3. Apri lo script di avvio del server mysql (ad esempio mysql-server.sh o mysql che è il file eseguito per avviare o arrestare il server MySQL).
  4. AGGIUNGI –skip-grant-tables alla fine della riga che contiene mysqld_safe comando come parametro.
  5. Avvia il server MySQL con il seguente comando:

    Linux:

    /etc/rc.d/init.d/mysql start

    FreeBSD:

    /usr/local/etc/rc.d/mysql-server.sh start
  6. In alternativa, avvia direttamente il server MySQL e salta la modifica con il comando seguente (se stai usando questo passaggio, non è necessario modificare lo script di avvio di MySQL):
    mysqld_safe --skip-grant-tables &

    A seconda dell'ambiente del tuo percorso, potresti dover puntare alla directory corretta dove si trova invece mysqld_safe.

  7. Esegui i seguenti comandi per accedere come utente mysql e connetterti al database utente/autorizzazione mysql:
    # mysql -u root mysql
  8. Esegui le query di aggiornamento per modificare la password MySQL:
    mysql> UPDATE user SET Password=PASSWORD('newrootpassword') WHERE User='root';
    mysql> FLUSH PRIVILEGES;

    Nota:sostituisci newrootpassword con la nuova password di root per il server MySQL. Flush Privileges è necessario per rendere immediatamente effettiva la modifica della password.

  9. Esci dal client del database mysql digitando exit .
  10. Arresta il server MySQL con i comandi elencati al passaggio 2.
  11. Apri di nuovo la modifica dello script di avvio del server mysql nel passaggio 3 e RIMUOVERE le –skip-grant-tables parametro che è stato aggiunto.
  12. Avvia il server MySQL utilizzando il comando dal passaggio 5 o 6.

Per gli utenti Redhat Linux, utilizzare le seguenti istruzioni come utente root della macchina Redhat Linux:

  1. Interrompi il processo MySQL usando il comando:
    # killall mysqld
  2. Avvia il server MySQL con le seguenti opzioni:
    # /usr/libexec/mysqld -Sg --user=root &
  3. Avvia il client MySQL:
    # mysql

    Dovresti vedere il seguente messaggio:

    Benvenuti nel monitor MySQL. I comandi terminano con; o g.
    Il tuo ID di connessione MySQL è 1 alla versione del server:3.xx.xx

    Digita "aiuto" o "h" per ricevere aiuto. Digita "c" per cancellare il buffer.

    mysql>

  4. Usa database mysql:
    mysql> USE mysql 

    Dovresti vedere il seguente messaggio:

    Lettura delle informazioni sulla tabella per il completamento dei nomi di tabelle e colonne
    Puoi disattivare questa funzione per ottenere un avvio più rapido con -A

    Database cambiato

  5. Quindi, aggiorna la password per l'utente root con il seguente comando:
    UPDATE user SET password=password("newpassword") WHERE user="root";

    Sostituisci nuovapassword con la password desiderata. Dovresti vedere il seguente messaggio:

    Query OK, 2 righe interessate (0,03 sec)
    Righe abbinate:2 Modificate:2 Avvisi:0

    Le righe interessate potrebbero essere diverse, ma Query OK dovrebbe essere presente.

  6. Svuota i privilegi del database per ricaricarlo in modo da rendere effettive le modifiche:
    mysql> flush privileges; 

    Dovresti ottenere il seguente risultato:

    Query OK, 0 righe interessate (0,02 sec)

  7. Esci dal client MySQL digitando exit .
  8. Uccidi il processo del server MySQL digitando killall mysqld .
  9. Quindi riavvia MySQL:
    /etc/init.d/mysqld start