Kiedy łączę bazy danych MySQL w kodzie źródłowym, takim jak kod Java lub kod Python. Natrafiam na błąd, którego nie spotykam, gdy używam oprogramowania narzędziowego klienta MySQL do jego połączenia. Komunikat o błędzie to Odmowa dostępu dla użytkownika „root”@”localhost” (przy użyciu hasła:tak) . Rozwiązanie tego problemu nie jest trudne, ten przykład pokaże Ci, jak to zrobić.
1. Powód odmowy dostępu.
- Powodem tego problemu jest to, że nie przyznajesz użytkownikowi żadnych globalnych uprawnień.
- Więc po przyznaniu wyboru globalne uprawnienia użytkownika, problem zostanie naprawiony.
2. Jak przyznać użytkownikowi bazę danych MySQL Wybierz uprawnienia.
2.1 Przyznaj użytkownikowi uprawnienia za pośrednictwem środowiska pracy MySQL.
Jeśli używasz narzędzi klienckich MySQL, takich jak MySQL Workbench do zarządzania bazą danych MySQL, wykonaj poniższe czynności.
2.1.1 Dodaj globalne uprawnienia.
- Otwórz MySQL Workbench, kliknij Użytkownicy i uprawnienia pozycja menu w lewym panelu.
- Kliknij nazwę konta użytkownika w środkowym panelu, a następnie kliknij Role administracyjne w prawym panelu.
- Następnie zaznacz WYBIERZ pole wyboru w Uprawnieniach globalnych obszar.
- Kliknij Zastosuj przycisk, aby zapisać zmiany.
2.1.2 Dodaj uprawnienia do schematu.
- Jeśli chcesz wykonać polecenie SQL na specjalnej tabeli bazy danych schematów, powinieneś dodać powiązane uprawnienia schematu schematu (bazy danych) do konta użytkownika.
- Otwórz MySQL Workbench, a następnie kliknij Użytkownicy i uprawnienia element menu w lewym panelu, a następnie kliknij konto użytkownika w środkowym panelu, a następnie kliknij Uprawnienia schematu w prawym panelu.
- Kliknij Dodaj wpis przycisk, aby otworzyć wyskakujące okno wyboru schematu, aby wybrać żądany schemat.
- Następnie zaznacz odpowiednie pole wyboru uprawnień (na przykład WYBIERZ , WSTAW , AKTUALIZACJA, i USUŃ pole wyboru), aby przypisać uprawnienia do konta użytkownika.
- Kliknij Zastosuj przycisk, aby zapisać zmiany.
2.2 Zmień uprawnienia użytkownika za pomocą wiersza poleceń.
Jeśli chcesz przyznać uprawnienia globalne lub schematyczne kontu użytkownika MySQL za pomocą wiersza poleceń, wykonaj poniższe czynności.
2.2.1 Przyznaj globalne uprawnienia kontu użytkownika za pomocą wiersza poleceń.
- Otwórz terminal i uruchom poniższe polecenie.
:~$ mysql -u root -p Enter password: mysql> GRANT SELECT ON *.* TO 'jerry'@'localhost' WITH GRANT OPTION; Query OK, 0 rows affected (0.00 sec)
2.2.2 Przyznaj specjalne uprawnienia do schematów kontu użytkownika.
- Otwórz terminal uruchom poniżej polecenie.
:~$ mysql -u root -p Enter password: mysql> GRANT SELECT,UPDATE,INSERT,DELETE ON dev2qa_example.* TO 'jerry'@'localhost'; Query OK, 0 rows affected (0.00 sec) mysql> GRANT ALL PRIVILEGES ON dev2qa_example.* TO 'jerry'@'localhost'; Query OK, 0 rows affected (0.00 sec)