sql >> Databasteknik >  >> RDS >> Mysql

Hur man återställer MySQL root-lösenordet

Den här artikeln beskriver hur du återställer MySQL root-lösenordet. Du kan behöva göra detta, till exempel om du har glömt lösenordet.

Du måste ha root-åtkomst på servern för att återställa MySQL-rootlösenordet.

Ändra MySQL root-lösenordet

Följ dessa steg för att återställa root-lösenordet för MySQL:

  1. Logga in på ditt konto med SSH. Du måste köra kommandona i följande steg som root-användare. Därför kan du antingen logga in direkt som root-användare (vilket inte rekommenderas av säkerhetsskäl), eller använda su eller sudo kommandon för att köra kommandona som root-användare.
  2. Stoppa MySQL-servern med lämpligt kommando för din Linux-distribution:
    • För CentOS och Fedora, skriv:
      service mysqld stop
    • För Debian och Ubuntu, skriv:

      service mysql stop
  3. Starta om MySQL-servern med —skip-grant-tables alternativ. För att göra detta, skriv följande kommando:

    mysqld_safe --skip-grant-tables &
    • Se till att du skriver et-tecken (&) i slutet av kommandot. Detta kör kommandot i bakgrunden och låter dig skriva kommandona i följande steg.
    • Kör MySQL med —skip-grant-tabellerna alternativet aktiverat är mycket osäkert och bör endast göras under en kort period medan du återställer lösenordet. Stegen nedan visar hur du stoppar mysqld_safe-serverinstansen på ett säkert sätt och startar MySQL-servern säkert efter att du har återställt root-lösenordet.
  4. Logga in på MySQL med följande kommando:

    mysql
  5. mysql> återställ lösenordet. För att göra detta, skriv följande kommando och ersätt nytt lösenord med det nya root-lösenordet:

    UPDATE mysql.user SET Password=PASSWORD('new-password') WHERE User='root';
  6. mysql> skriv följande kommandon:

    FLUSH PRIVILEGES;
    exit;
    
  7. Stoppa MySQL-servern med följande kommando. Du kommer att bli ombedd att ange det nya MySQL root-lösenordet innan MySQL-servern stängs av:

    mysqladmin -u root -p shutdown
  8. Starta MySQL-servern normalt. För att göra detta, skriv in lämpligt kommando för din Linux-distribution:

    • För CentOS och Fedora, skriv:
      service mysqld start
    • För Debian och Ubuntu, skriv:

      service mysql start

  1. Bästa sättet att testa om en rad finns i en MySQL-tabell

  2. Ny data kvarstår inte i Rails-arraykolumnen på Postgres

  3. Hur current_timestamp() fungerar i PostgreSQL

  4. Två SQL LEFT JOINS ger felaktigt resultat