Ich möchte anfangen, Abfragen in MySQL zu schreiben.
show grants
zeigt:
+--------------------------------------+
| Grants for @localhost |
+--------------------------------------+
| GRANT USAGE ON *.* TO ''@'localhost' |
+--------------------------------------+
Ich habe keine Benutzerkennung, aber wenn ich einen Benutzer anlegen will, habe ich keine Rechte. Ich weiß auch nicht, wie ich Rechte anlegen soll, wenn ich nicht einmal einen Benutzer habe!
mysql> CREATE USER 'parsa'@'localhost' IDENTIFIED BY 'parsa';
ERROR 1227 (42000): Access denied; you need (at least one of) the CREATE USER pr
ivilege(s) for this operation
Ich habe versucht, mich als root anzumelden:
mysql> mysql -u root -p;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that
corresponds to your MySQL server version for the right syntax to use near 'mysql
-u root -p' at line 1
mysql> mysql -u root -p root;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that
corresponds to your MySQL server version for the right syntax to use near 'mysql
-u root -p root' at line 1
Nein, Sie sollten mysql -u root -p
in der Bash ausführen, nicht in der MySQL-Kommandozeile.
Wenn Sie sich in mysql befinden, können Sie es durch Eingabe von exit beenden.
Möglicherweise müssen Sie ein Root-Konto für Ihre MySQL-Datenbank einrichten:
Geben Sie in das Terminal ein:
mysqladmin -u root password 'root password goes here'
Und dann rufen Sie den MySQL-Client auf:
mysql -h localhost -u root -p
Versuchen Sie es mit dem vollständigen Anmeldebefehl:
mysql -h host -u root -p
wobei host 127.0.0.1
sein würde.
Führen Sie dies nur durch, um sicherzustellen, dass eine Zusammenarbeit besteht.
Die Verwendung von mysql -u root -p
erlaubt mir eine Menge Datenbanksuchen, verweigert aber jede Datenbankerstellung aufgrund einer Pfadeinstellung.