Když připojím databáze MySQL ve zdrojovém kódu, jako je kód Java nebo kód Python. Narazil jsem na chybu, se kterou se nesetkám, když k připojení používám klientský nástroj MySQL. Chybová zpráva je Přístup odepřen pro uživatele ‚root‘@‘localhost‘ (pomocí hesla:Ano) . Vyřešit tento problém není těžké, tento příklad vám řekne, jak to udělat.
1. Důvod odepření přístupu.
- Důvodem tohoto problému je skutečnost, že uživateli neudělujete žádná globální oprávnění.
- Po udělení výběru globální oprávnění pro uživatele, pak bude problém vyřešen.
2. Jak udělit databázi MySQL Select Privilege To the User.
2.1 Udělte uživateli oprávnění prostřednictvím MySQL Workbench.
Pokud ke správě databáze MySQL používáte klientské nástroje MySQL, jako je MySQL Workbench, postupujte podle níže uvedených kroků.
2.1.1 Přidat globální oprávnění.
- Otevřete MySQL Workbench a klikněte na Uživatelé a oprávnění položku nabídky v levém panelu.
- Klikněte na název uživatelského účtu v prostředním panelu a poté klikněte na Administrativní role na pravém panelu.
- Potom zaškrtněte možnost VYBRAT zaškrtávací políčko v části Globální privilegia oblast.
- Klikněte na tlačítko Použít pro uložení změn.
2.1.2 Přidat oprávnění schématu.
- Pokud chcete provést příkaz SQL na speciální tabulce databáze schémat, měli byste do uživatelského účtu přidat související oprávnění schématu (databáze).
- Otevřete MySQL Workbench a poté klikněte na Uživatelé a oprávnění položku nabídky v levém panelu, poté klikněte na uživatelský účet v prostředním panelu a poté klikněte na Oprávnění schématu na pravém panelu.
- Klikněte na Přidat záznam tlačítko pro otevření vyskakovacího okna pro výběr schématu pro výběr požadovaného schématu.
- Potom zaškrtněte políčko souvisejících oprávnění (například VYBRAT , INSERT , AKTUALIZOVAT, a SMAZAT zaškrtávací políčko) pro přiřazení oprávnění uživatelskému účtu.
- Klikněte na tlačítko Použít pro uložení změn.
2.2 Změna uživatelských oprávnění pomocí příkazového řádku.
Pokud chcete uživatelskému účtu MySQL udělit globální oprávnění nebo oprávnění pro schéma pomocí příkazového řádku, postupujte podle níže uvedených kroků.
2.2.1 Udělení globálních oprávnění uživatelskému účtu pomocí příkazového řádku.
- Otevřete terminál a spusťte níže uvedený příkaz.
:~$ 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 Udělte uživatelskému účtu zvláštní oprávnění pro schéma.
- Otevřete terminál spustit pod příkazem.
:~$ 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)