GNU/Linux >> Znalost Linux >  >> Linux

CHYBA 1045 (28000):Přístup odepřen uživateli 'root'@'localhost' (pomocí hesla:ANO)

Poznámka: Pro MySQL 5.7+ viz odpověď @Lahiru na tuto otázku. Obsahuje aktuálnější informace.

Pro MySQL <5.7:

Výchozí heslo uživatele root je prázdné (tj. prázdný řetězec), nikoli root . Můžete se tedy přihlásit jako:

mysql -u root

Po instalaci byste samozřejmě měli změnit heslo uživatele root

mysqladmin -u root password [newpassword]

Ve většině případů byste měli také nastavit jednotlivé uživatelské účty před tím, než budete intenzivně pracovat s DB.


Tento problém se mi podařilo vyřešit provedením tohoto příkazu

sudo dpkg-reconfigure mysql-server-5.5

Což změní heslo uživatele root.


Musíte resetovat heslo! kroky pro mac osx (testováno a funkční) a ubuntu

Zastavte používání MySQL

sudo service mysql stop

nebo

$ sudo /usr/local/mysql/support-files/mysql.server stop

Spusťte jej v nouzovém režimu:

$ sudo mysqld_safe --skip-grant-tables --skip-networking

(nad řádkem je celý příkaz)

Toto bude trvalý příkaz, dokud nebude proces dokončen, takže otevřete další okno shellu/terminálu a přihlaste se bez hesla:

$ mysql -u root

mysql> UPDATE mysql.user SET Password=PASSWORD('password') WHERE User='root';

Podle komentáře @IberoMedia se pro novější verze MySQL pole nazývá authentication_string :

mysql> UPDATE mysql.user SET authentication_string =PASSWORD('password') WHERE User='root';

Spusťte MySQL pomocí:

sudo service mysql start

nebo

sudo /usr/local/mysql/support-files/mysql.server start

vaše nové heslo je 'password'.

POZNÁMKA: pro verzi mysql> 5.7 zkuste toto:

update mysql.user set authentication_string='password' where user='root';

Linux
  1. Chyba při použití GRANT s IDENTIFIKOVANÝM heslem v MySQL

  2. Přístup odepřen uživateli 'root'@'localhost' (pomocí hesla:Ano) po resetování hesla LINUX

  3. Možnost změnit heslo uživatele root (chyba zabezpečení?)

  1. Resetujte kořenové heslo MySQL

  2. Přístup odepřen konkrétnímu uživateli konfigurací účtu PAM

  3. Připojit se k MySQL pomocí příkazového řádku bez použití hesla root?

  1. MySQL - CHYBA 1045 - Přístup odepřen

  2. Povolit jednoduché heslo pro uživatele root na CentOS

  3. mysql (mariadb) ERROR 1698 (28000):Přístup odepřen uživateli 'root'@'localhost'