MySQL-ERROR 1045-Access denied

W jakiś sposób udało mi się uzyskać ten błąd, gdy próbuję uzyskać dostęp do MySQL za pomocą wiersza poleceń:

[root@localhost ~]# mysql -u root -p
Enter password:
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

Próbowałem zresetować hasło bez powodzenia używając tego HowTo.

Odinstalowałem mysql completley i ponownie zainstalowałem, ale i tak zostałem poproszony o hasło. Nie mam pojęcia, dlaczego tak jest!

Czy ktoś może mi pomóc uzyskać domyślną instalację MySQL.

Środowisko

Fedora Core 10, Pełny dostęp do roota, Apache i PHP installed

Dziękuję za wszelką pomoc!!

EDIT

Do wszystkich tych, którzy chcieliby zaoszczędzić sobie kilka godzin "kaszlu krwi" - po odinstalowaniu MySQl całkowicie usuń wszystko, co pozostało. Jeśli tego nie zrobisz, nigdy nie będzie to nowa instalacja.

Author: OMG Ponies, 2009-01-28

7 answers

Jeśli rzeczywiście Ustawiłeś hasło roota i właśnie go zgubiłeś / zapomniałeś:

  1. Stop MySQL
  2. Uruchom ponownie ręcznie za pomocą opcji skip-grant-tables: mysqld_safe --skip-grant-tables

  3. Teraz otwórz nowe okno terminala i uruchom klienta MySQL: mysql -u root

  4. Zresetuj ręcznie hasło roota za pomocą polecenia MySQL: UPDATE mysql.user SET Password=PASSWORD('password') WHERE User='root'; Jeśli używasz MySQL 5.7 (sprawdź używając mysql --version w terminalu) to polecenie jest:

    UPDATE mysql.user SET authentication_string=PASSWORD('password')  WHERE  User='root';
    
  5. Flush the uprawnienia z tym poleceniem MySQL: FLUSH PRIVILEGES;

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

(Może to nie jest to, czego potrzebujesz, Abs, ale myślę, że może to być przydatne dla ludzi, którzy natkną się na to pytanie w przyszłości)

 79
Author: David Z,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-05-04 18:10:58

Spróbuj połączyć się bez żadnego hasła:

mysql -u root

Uważam, że początkową wartością domyślną jest brak hasła do konta root (które należy oczywiście zmienić jak najszybciej).

 13
Author: Chad Birch,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-01-28 20:15:42

Użyj tego polecenia, aby sprawdzić możliwe wyjście

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

Wyjście

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. w tym użytkowniku Administrator nie będzie mógł logować się z innego hosta, chociaż udzieliłeś pozwolenia. powodem jest to, że użytkownik admin nie jest identyfikowany przez żadne hasło.
  2. Nadaj użytkownikowi admin hasło za pomocą polecenia GRANT jeszcze raz

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

Następnie sprawdź listę dotacji, która będzie jak jego

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)

Jeśli żądany użytkownik np. użytkownik 'admin' musi mieć pozwolenie na logowanie, a następnie użyj polecenia raz GRANT i wykonaj polecenie.

Teraz użytkownik może się zalogować

 4
Author: vigremrajesh,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-04-20 11:49:01

Bieżące hasło roota musi być puste. Następnie w "new root password" wprowadź hasło i potwierdź.

 1
Author: princetailor,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-01-07 13:21:52

Aby zalogować się w PHPMyAdmin spróbuj obejść ten błąd PHPMyAdmin MySQL Error 1045-access denied for user root@localhost (using password: NO)

 0
Author: Manx,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-05-12 08:10:38
  1. Przejdź do konsoli mysql
  2. Enter use mysql;
  3. Aktualizacja mysql.user SET Password = PASSWORD ( ") WHERE User= 'root' / ALIGN = "LEFT" / ; wyjście Hasło ( " ) musi być puste
  4. następnie przejdź do wamp / apps / phpmyadmin../ config.inc.php
  5. Find $CFG ['Servers'] ['$I'] ['password']= 'root';
  6. Zamień ['hasło'] na ['twoje stare hasło']
  7. zapisz plik
  8. Uruchom ponownie wszystkie usługi i goto localhost / phpmyadmin
 0
Author: user4713247,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-03-25 17:12:45

Nie udało mi się połączyć z administratorem MySql. Naprawiłem to, tworząc innego użytkownika i przypisując wszystkie uprawnienia.

Zalogowałem się z tym nowym użytkownikiem i zadziałało.

 0
Author: Mysql user,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-05 20:38:47