Datenbank kann nicht erstellt werden, da der Zugriff verweigert wurde

10

Ich habe mich gerade als normaler Benutzer (vivek) bei Ubuntu 12.04 angemeldet und das Terminal geöffnet, um eine Datenbank zu erstellen. Ich schrieb:

create database Hello;

und der Fehler, den ich hatte, ist:

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

Wenn ich mich als Root anmelde, öffnet sich nicht einmal MySQL und es wird die Fehlermeldung angezeigt:

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

Was nun.

viveksinghggits
quelle
1
Mit welchem ​​Befehl haben Sie eine Verbindung zu MySQL hergestellt?
Parto
Ich habe gerade MySQL geschrieben, um eine Verbindung zu MySQL
herzustellen

Antworten:

11

Um sich als Root-Benutzer bei MySQL anzumelden, können Sie Folgendes verwenden:

mysql -u root -p

und geben Sie dann Ihr MySQL-Passwort ein.


Um sich als anderer Benutzer anzumelden, müssen Sie diesen Benutzer zuerst erstellen und ihm Berechtigungen gewähren.

Erstellen Sie den Benutzer mit - ändern newuserSie den gewünschten Benutzernamen und passworddas Passwort Ihrer Wahl.

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

Leider hat zu diesem Zeitpunkt newuserkeine Berechtigung, etwas mit den Datenbanken zu tun.
Daher besteht die erste Stufe darin, dem Benutzer die Berechtigung zu erteilen, "Dinge" zu tun.
Führen Sie Folgendes aus, um alle Berechtigungen (Auswählen, Erstellen, Löschen, Aktualisieren, Löschen usw.) für alle Datenbanken und Tabellen zu gewähren:

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

Führen Sie einfach Folgendes aus, um ein bestimmtes Privileg für eine bestimmte Datenbank und Tabelle zu erteilen:

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

Wenn Sie jemals ein bestimmtes Privileg verweigern oder widerrufen müssen, führen Sie einfach Folgendes aus:

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

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

Parto
quelle
Vielen Dank,
1

Öffnen Sie die MySQL im Speichermodus

sudo mysqld_safe --skip-grant-tables

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

Logge MySQL als Root ein

mysql -u root

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

Gewähren Sie alle PRIVILEGIEN für diese Klimaanlage

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

Ich denke, das wird auch funktionieren ...

Sudip Das
quelle