Ich möchte MySQL installieren und eine Datenbank mit folgendem Code erstellen:
sudo apt-get install mysql-server
mysqladmin -h localhost -u {username} -p create lrs
Nach dem Ausführen der zweiten Zeile erhalte ich folgende Meldung:
Enter password:
mysqladmin: connect to server at 'localhost' failed
error: 'Access denied for user '{username}'@'localhost' (using password: YES)'
Worin besteht das Problem?
Antworten:
Nachdem Sie MySQL installiert haben, müssen Sie das mysql-root-Passwort festlegen . Um dies zu tun:
Geben Sie den nächsten Befehl in ein Terminal ein:
mysql -u root
Jetzt sollte es die MySQL- Konsole öffnen . Und tippe die folgende Zeile:
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('yourpassword');
Um die MySQL- Konsole zu verlassen, geben Sie ein
exit
.Jetzt sollten Sie die Datenbank mit dem Root- Benutzer erstellen . Um dies zu tun:
Öffnen Sie MySQL vom Terminal aus:
mysql -u root -p
Geben Sie das zuvor erstellte Passwort ein.
Geben Sie die folgende Zeile ein:
CREATE DATABASE yourdatabasename;
Wenn Sie eingeben
SHOW DATABASES;
, sollten Sie es in der Liste sehen. Dann steht Ihnen eine Datenbank zur Verfügung!quelle
mysql -u root
gibt mirERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
root
Benutzer und ein Kennwort haben. Wenn Sie dasroot
Passwort vergessen haben , lesen Sie die MySQL-Dokumentation .Sie müssen sich mit dem Root-Benutzer und dem dazugehörigen Passwort mit MySQL verbinden. Wenn Sie sie festlegen müssen, verwenden Sie den folgenden Befehl:
sudo mysqladmin -u root -h localhost password 'mypassword'
Von dort aus können Sie zusätzliche Konten konfigurieren, indem Sie diesem Dokument folgen: So erstellen Sie einen neuen Benutzer und erteilen Berechtigungen in MySQL
quelle
sudo mysqladmin -u root -h localhost password 'mypassword'
und in mein Terminal eingefügt und bekomme die NachrichtAccess denied for user 'root'@'localhost' (using password: NO)
.password 'mypassword'
ist falsch, es sollte sein-password 'mypassword'
sudo mysqladmin -u root -h localhost -password 'mypassword'
, aber ich versteheAccess denied for user 'root'@'localhost' (using password: YES)
.mysql -u root
?Dies ist seltsam, da MySQL seit 12.04 (vermutlich mit Kubuntu 12.04) Standard ist. Sieht so aus, als ob Ihnen dazwischen ein paar Schritte fehlen. Schauen wir uns das an:
Lassen Sie uns zunächst, wie Sie bereits erwähnt haben, eine Installation durchführen.
Nachdem Sie es installiert haben, lassen Sie uns einen kleinen Test versuchen,
Wenn Sie dies ausführen, sollten Sie diese Antwort sehen,
Wenn dies nicht korrekt ausgeführt wird, führen Sie diesen Neustartbefehl aus.
Nun konfigurieren Sie den Server.
Gehen wir
/etc/mysql/my.cnf
zu den Grundeinstellungen. Dazu gehören die Protokolldatei, die Portnummer usw. Um beispielsweise MySQL so zu konfigurieren, dass es auf Verbindungen von Netzwerkhosts wartet, ändern Sie die Anweisung bind-address in die IP-Adresse des Servers:Danach starten Sie den MySQL-Daemon neu,
Wenn Sie das MySQL-Root-Passwort ändern möchten, führen Sie Folgendes aus:
Der Daemon wird gestoppt und Sie werden aufgefordert, ein neues Passwort einzugeben.
Sobald Sie fertig sind, sollten Sie konfiguriert sein und einige Google-Suchanfragen zeigen Ihnen, wie Sie eine Datenbank erstellen
Quelle: Das Ubuntu Server Handbuch
quelle
Führen Sie diesen Befehl aus:
(5.5 ist die Versionsnummer, passen Sie an, wenn Sie eine andere Version haben)
Auf diese Weise können Sie Ihr MySQL-Root-Passwort festlegen, das Sie dann mit
mysqladmin
undmysql
-Befehlen verwenden können.quelle
Nachdem Sie MySQL installiert haben, müssen Sie das mysql-root-Passwort festlegen. Um dies zu tun:
quelle
Ich weiß, dass dies 3 Jahre alt ist, aber ich hatte gerade auch dieses Problem und wollte meine Antwort posten, falls jemand die gleiche Suche macht, die ich durchgeführt habe.
mysqladmin: connect to server at 'localhost' failed
Dies weist darauf hin, dass Ihr Benutzer keine Berechtigung zum Herstellen einer Verbindung zur Datenbank selbst hat, bevor er sich überhaupt anmelden kann. Nicht der Datenbankbenutzer, sondern Ihr tatsächlicher Linux-Benutzer. Führen Sie alles als Superuser aus: sudo mysql -u root -p
Nur root (der Linux-Benutzer oder ein Benutzer mit sudo-Berechtigungen) kann sich bei mysql als root (der Datenbankbenutzer) anmelden. Ich konnte nirgendwo eine Dokumentation finden, aber Experimente haben gezeigt, dass dies der Fall ist. Sie können einen neuen Benutzer mit den gleichen Rechten wie der Root-Benutzer erstellen, ohne dass dies Einschränkungen unterliegt.
Jetzt kann "newuser" (oder welcher Name auch immer Sie wählen) ohne sudo angemeldet werden und Sie können es für alle administrativen Anforderungen Ihrer Datenbank verwenden.
quelle
probably
in einer Antwort zu verwenden, ist verpönt.