mysqladmin: connect to server at 'localhost' failed error:

Alles rund um die Systemverwaltung, die Administration und Konfiguration Eures Linuxsystems

Moderator: Moderatoren

Gesperrt
Benutzeravatar
Linux-Umsteiger
Newbie
Newbie
Beiträge: 48
Registriert: 28. Dez 2004, 16:04
Wohnort: Frankfurt am Main

mysqladmin: connect to server at 'localhost' failed error:

Beitrag von Linux-Umsteiger » 18. Jan 2005, 16:38

Hallo liebe MySQL-Profis,

bin erst vor kurzem auf Linux umgestiegen und versuche mich jetzt auch noch auf MySQL. Leider klappt schon der Start des Servers nicht. Ich habe SuSE 9.2 und habe mit YAST folgende Pakete installiert:

mysql-administrator-1.0.18-1.suse91.i586.rpm
MySQL-bench-4.1.8-0.i386.rpm
MySQL-client-4.1.8-0.i386.rpm
MySQL-devel-4.1.8-0.i386.rpm
MySQL-embedded-4.1.8-0.i386.rpm
mysql-query-browser-1.1.5-1.suse91.i586.rpm
MySQL-server-4.1.8-0.i386.rpm
MySQL-shared-4.1.8-0.i386.rpm
MySQL-shared-compat-4.1.8-0.i386.rpm

Nun habe ich gelesen, dass man den Server über die Konsole mit “rcmysql start” startet. Gebe ich das an kommt folgende Meldung:

# rcmysql start
Starting service MySQL
failed
Eine Anfrage an den Server über “mysladmin -u root -h localhost ping” ergibt folgende Meldung:
mysqladmin: connect to server at 'localhost' failed
error: 'Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)'
Check that mysqld is running and that the socket: '/var/lib/mysql/mysql.sock' exists!

Wenn ich mittels Konsole im Verzeichnis nachschaue so findet sich im Ordner keine Datei namens mysql.sock. Alles was in der Konsole angezeigt wird wenn ich mich in dem Verzeichnis befinde und den Befehl ls eingebe ist “. ..” . Was das sein soll weiß ich nicht.
Habe ich vielleicht versäumt irgendetwas besonders Wichtiges zu installieren (apache oder etwas ähnliches?). Natürlich habe ich schon mal in allen möglichen Foren nachgeschaut. Folgende Vorschläge haben mir NICHT weitergeholfen bzw. bin ich zu unfähig um mit diesen Vorschlägen etwas anzufangen:

1.Überprüfen, ob der Server läuft: Den Befehl “ps axu | grep sql” in die Konsole eingeben. Wird mysql nicht aufgeführt, läuft der Server nicht. Ergebnis: Die einzigen Dienste, die angezeigt werden sind bei mir mysql-administrator und ministrator-bin. Also läuft allem Anschein nach der Server nicht. Ist aber ja auch gar nicht verwunderlich, weil mein Problem eben darin besteht den Server nicht anschmeißen zu können.

2.Neuere Pakete von der MySQL-Seite runterladen. Ich habe die Neusten Pakete runtergeladen meine ich.

3.Schließlich noch ein Vorschlag, den ich überhaupt nicht hinkriege (weil ich einfach zu wenig Ahnung habe): Der Grund für das Problem sei die fehlende Berechtigung für die Gruppe root. Abhilfe schafft man durch die Vergabe von Schreibberechtigungen für die Gruppe Daemon inm Verzeichnis /var/lib/mysql. Weiterhin ist dann zu prüfen, ob die Schreibberechtigungen im Verzeichnis /var/lib/mysql/mysql für den Benutzer mysql und die Gruppe root auf rw gesetzt sind.(Ggf. ist dies mittels “chmod 660 *” als root zu korrigieren). Danach ist auf jedenfall mit /etc/init.d/mysql restart ein Neustart des Datenbankservers notwendig. Die Fehlermeldungen sollten danach beseitigt sein.

Zu Vorschlag Nr.3 habe ich folgendes Problem: Wie ändere ich in /var/lib/mysql die Schreibberechtigungen? In diesem Verzeichnis existieren bei mir zwei Dateien (linux.err und mysqld.log) sowie zwei Ordner (mysql und test). Und: löst Vorschlag Nr. 3 überhaupt mein Problem?

Sorry für die so ausführliche Beschreibung meines Problems, aber ohne Hilfe krieg es beim besten Willen nicht hin. Vielen Dank schon mal an alle, die sich das Problem anschauen wollen.

Werbung:
Benutzeravatar
PC-Ulf
Member
Member
Beiträge: 180
Registriert: 1. Okt 2004, 17:30
Wohnort: Köln
Kontaktdaten:

Beitrag von PC-Ulf » 18. Jan 2005, 20:03

Starte mit

Code: Alles auswählen

./mysql start
den Server, dazu in das richtige Verzeichnis gehen, solltest Du mit

Code: Alles auswählen

find -name mysql
spätestens finden, denke es ist /var/lib/mysql .

Gehe dann mal in den MySQL Monitor, also mit

Code: Alles auswählen

./mysql
, root brauchst Du explizit nicht als Benutzer angeben, kannst aber. Sollte ein Passwort gesetzt sein (oder werden), noch ein -p anfügen.

Wenn Du in den Monitor kommst, kannst Du auch ./mysqladmin benutzen, der Server läuft dann. Auch hier ein -p anfügen, wenn ein Passwort gesetzt wurde.

Probier das bitte erstmal aus.
Hoffe es hilft ein wenig. :wink:

Benutzeravatar
Linux-Umsteiger
Newbie
Newbie
Beiträge: 48
Registriert: 28. Dez 2004, 16:04
Wohnort: Frankfurt am Main

Beitrag von Linux-Umsteiger » 18. Jan 2005, 20:24

Hallo PC-Ulf,

erstmal vielen Dank für Deine Antwort. Wahrscheinlich habe ich mich falsch ausgedrückt:
PC-Ulf hat geschrieben:Starte mit

Code: Alles auswählen

./mysql start
den Server, dazu in das richtige Verzeichnis gehen, solltest Du mit

Code: Alles auswählen

find -name mysql
spätestens finden, denke es ist /var/lib/mysql .
.
Mein Problem war ja, dass ich den Server mit keinerlei Befehl starten konnte.
Dann habe ich mir mal die mysql.log angeschaut, da stand dann folgendes drin :

050117 15:38:13 mysqld started
050117 15:38:13 Fatal error: Can't open privilege tables: Table 'mysql.host' doe
sn't exist
050117 15:38:13 Aborting

050117 15:38:13 /usr/sbin/mysqld: Shutdown Complete

050117 15:38:13 mysqld ended

Anschließend habe ich gleich mal nach "Table ´mysql.host´ gegoogelt und dann folgendes rausgefunden: es fehlt lediglich eine Datenbank von mysql, die wie folgt zu installieren wäre:
Einfach ins Verzeichnis /bin wechseln und dort ´mysql_install_db Script´ eingeben. Das hat das Problem sofort gelöst, Ergebnis:

linux:/bin # rcmysql start
Starting service MySQL done
linux:/bin # mysqladmin -u root -h localhost ping
mysqld is alive

...Wäre also das Problem auch gelöst. Aber das ist meinerseits mit Sicherheit nicht das letzte Problem...

Gruß, Linux-Einsteiger :oops:

Gesperrt

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast