Sie sind nicht angemeldet.

1

18.01.2005, 16:57

error: 'Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock'

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.

2

19.01.2005, 10:21

Ok...Problem gelöst:

Habmir mal die mysql.log angeschaut, da stand 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. Ergebnis:

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

.
Gruß, Cagliostro

Thema bewerten