GNU/Linux >> Znalost Linux >  >> Linux

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

Pokud jste skutečně nastavili heslo uživatele root a právě jste ho ztratili/zapomněli:

  1. Zastavte MySQL
  2. Restartujte jej ručně pomocí volby skip-grant-tables:mysqld_safe --skip-grant-tables

  3. Nyní otevřete nové okno terminálu a spusťte klienta MySQL:mysql -u root

  4. Heslo uživatele root resetujte ručně pomocí tohoto příkazu MySQL:UPDATE mysql.user SET Password=PASSWORD('password') WHERE User='root'; Pokud používáte MySQL 5.7 (zkontrolujte pomocí mysql --version v Terminálu), příkaz je:

    UPDATE mysql.user SET authentication_string=PASSWORD('password')  WHERE  User='root';
    
  5. Vyprázdněte oprávnění pomocí tohoto příkazu MySQL:FLUSH PRIVILEGES;

Z http://www.tech-faq.com/reset-mysql-password.shtml

(Možná to není to, co potřebuješ, Abs, ale myslím, že by to mohlo být užitečné pro lidi, kteří v budoucnu narazí na tuto otázku)


Zkuste se připojit bez hesla:

mysql -u root

Domnívám se, že výchozí výchozí nastavení není žádné heslo pro účet root (což by samozřejmě mělo být co nejdříve změněno).


použijte tento příkaz ke kontrole možného výstupu

mysql> select user,host,password from mysql.user;

výstup

mysql> select user,host,password from mysql.user;
+-------+-----------------------+-------------------------------------------+
| user  | host                  | password                                  |
+-------+-----------------------+-------------------------------------------+
| root  | localhost             | *8232A1298A49F710DBEE0B330C42EEC825D4190A |
| root  | localhost.localdomain | *8232A1298A49F710DBEE0B330C42EEC825D4190A |
| root  | 127.0.0.1             | *8232A1298A49F710DBEE0B330C42EEC825D4190A |
| admin | localhost             | *2470C0C06DEE42FD1618BB99005ADCA2EC9D1E19 |
| admin | %                     |                                           |
+-------+-----------------------+-------------------------------------------+
5 rows in set (0.00 sec)
  1. V tomto uživateli se správci nebude moci přihlásit z jiného hostitele, ačkoli jste mu udělili oprávnění. důvodem je, že uživatel admin není identifikován žádným heslem.
  2. Udělte uživateli admin heslo pomocí příkazu GRANT ještě jednou

    mysql> GRANT ALL PRIVILEGES ON *.* TO 'admin'@'%' IDENTIFIED by 'password'
    

pak se podívejte na SEZNAM GRANTŮ, výdej bude jako jeho

mysql> select user,host,password from mysql.user;

+-------+-----------------------+-------------------------------------------+
| user  | host                  | password                                  |
+-------+-----------------------+-------------------------------------------+
| root  | localhost             | *8232A1298A49F710DBEE0B330C42EEC825D4190A |
| root  | localhost.localdomain | *8232A1298A49F710DBEE0B330C42EEC825D4190A |
| root  | 127.0.0.1             | *8232A1298A49F710DBEE0B330C42EEC825D4190A |
| admin | localhost             | *2470C0C06DEE42FD1618BB99005ADCA2EC9D1E19 |
| admin | %                     | *2470C0C06DEE42FD1618BB99005ADCA2EC9D1E19 |
+-------+-----------------------+-------------------------------------------+
5 rows in set (0.00 sec)

pokud požadovanému uživateli, například uživateli 'admin', potřebuje být povoleno přihlášení, pak použijte jednou příkaz GRANT a spusťte příkaz.

Nyní by mělo být uživateli povoleno přihlášení.


Linux
  1. pip freeze vrací chybu:Oprávnění odepřeno:hg

  2. Chyba Přístup odepřen, potřebujete oprávnění PROCESS [MySQL]

  3. Chyba příliš mnoha připojení v MySQL

  1. Android Studio error 13=oprávnění v linuxu odepřeno

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

  3. mount error(13):Oprávnění odepřeno se sdílením systému Windows

  1. Řešení chyby Mysql:Příliš mnoho otevřených souborů

  2. Jak opravit chybu – ModSecurity:Přístup odepřen s kódem 44 [Apache]

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