Mysql
 sql >> Database >  >> RDS >> Mysql

Come risolvere l'accesso negato all'utente 'root'@'localhost' (usando la password:Sì) quando si collega il database MySQL

Quando collego i database MySQL nel codice sorgente, come il codice Java o il codice Python. Riscontro un errore che non riscontro quando utilizzo il software dello strumento client MySQL per collegarlo. Il messaggio di errore è Accesso negato all'utente 'root'@'localhost' (utilizzando la password:Sì) . Per risolvere questo problema non è difficile, questo esempio ti dirà come farlo.

1. Il motivo per cui è stato negato l'accesso.

  1. Il motivo di questo problema è che non concedi alcun privilegio globale all'utente.
  2. Quindi, dopo aver concesso la selezione privilegio globale per l'utente, il problema verrà risolto.

2. Come concedere il privilegio di selezione del database MySQL all'utente.

2.1 Concedi privilegi all'utente tramite MySQL Workbench.

Se utilizzi strumenti client MySQL come MySQL Workbench per gestire il database MySQL, segui i passaggi seguenti.

2.1.1 Aggiungi privilegi globali.
  1. Apri MySQL Workbench, fai clic su Utenti e privilegi voce di menu nel pannello di sinistra.
  2. Fai clic sul nome dell'account utente nel riquadro centrale, quindi fai clic su Ruoli amministrativi scheda nel pannello di destra.
  3. Quindi controlla SELECT casella di controllo nei privilegi globali zona.
  4. Fai clic su Applica pulsante per salvare le modifiche.
2.1.2 Aggiungi privilegi allo schema.
  1. Se si desidera eseguire il comando SQL su una tabella di database di schemi speciali, è necessario aggiungere i relativi privilegi di schema dello schema(database) all'account utente.
  2. Apri MySQL Workbench, quindi fai clic su Utenti e privilegi voce di menu nel pannello di sinistra, quindi fai clic sull'account utente nel pannello centrale, quindi fai clic su Privilegi schema scheda nel pannello di destra.
  3. Fai clic su Aggiungi voce pulsante per aprire la finestra popup di selezione dello schema per selezionare lo schema desiderato.
  4. Quindi seleziona la relativa casella di controllo dei privilegi (ad esempio SELECT , INSERIRE , AGGIORNAMENTO, e ELIMINA checkbox) per assegnare i privilegi all'account utente.
  5. Fai clic su Applica pulsante per salvare le modifiche.

2.2 Modifica del privilegio utente tramite riga di comando.

Se desideri concedere privilegi globali o di schema all'account utente MySQL tramite riga di comando, segui i passaggi seguenti.

2.2.1 Concedi privilegi globali all'account utente tramite riga di comando.
  1. Apri un terminale ed esegui il comando seguente.
    :~$ 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 Concedi privilegi dello schema speciale all'account utente.
  1. Apri terminale esegui sotto il comando.
    :~$ 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)