impossibile creare il database a causa dell'accesso negato


10

Ho appena effettuato l'accesso a Ubuntu 12.04 come un normale utente (vivek) e ho aperto il terminale per creare un database, ho scritto:

create database Hello;

e l'errore che ho avuto è:

ERROR 1044 (42000): Access denied for user ''@'localhost' to database 'vivek'

Se accedo come utente root, anche MySQL non si apre e viene visualizzato il messaggio di errore:

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

Cosa fare adesso.


1
Quale comando hai usato per connetterti a MySQL?
Parto,

Ho appena scritto mysql per connettermi a MySQL
viveksinghggits

Risposte:


12

Per accedere a MySQL come utente root, è possibile utilizzare:

mysql -u root -p

e quindi inserisci la tua password MySQL.


Per accedere come un altro utente, devi prima crearlo e concedergli i privilegi.

Crea l'utente utilizzando: cambia newuseril nome utente che desideri e passwordla password che preferisci .

CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'password';

Purtroppo, a questo punto newusernon ha i permessi per fare nulla con i database.
Pertanto la prima fase è concedere all'utente i privilegi di fare "cose".
Per concedere tutti i privilegi (selezionare, creare, eliminare, aggiornare, eliminare, ecc.) Su tutti i database e le tabelle, eseguire:

GRANT ALL PRIVILEGES ON * . * TO 'newuser'@'localhost';

Per concedere un privilegio specifico su un database e una tabella particolari, basta eseguire:

GRANT [type of privilege] ON [database name].[table name] TO '[username]'@'localhost';

Se hai mai bisogno di negare o revocare un certo privilegio, esegui semplicemente:

REVOKE [type of permission] ON [database name].[table name] FROM '[username]'@'localhost';

Fonte: https://www.digitalocean.com/community/articles/how-to-create-a-new-user-and-grant-permissions-in-mysql


Grazie amico ... Mi ha aiutato
viveksinghggits

1

apri mysql in modalità di salvataggio

sudo mysqld_safe --skip-grant-tables

===============================

accedi mysql come utente root

mysql -u root

===============================

concedere tutti i PRIVILEGI per tale a / c

GRANT ALL PRIVILEGES ON `%`.* TO 'root'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION;

penso che funzionerà anche ...

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.