MySQL error beim starten

MySQL, PostgreSQL, SQLite
croc
Posts: 71
Joined: 2005-09-16 15:30
Location: Leipzig

MySQL error beim starten

Post by croc » 2006-05-29 17:40

Hallo, ich hab ein kleines Problem beim starten des mysql-daemons.
System: Debian 3.1

Code: Select all

/etc/init.d/mysql start
ERROR:

Code: Select all

Starting MySQL database server: mysqld...failed.
        Please take a look at the syslog.
/usr/bin/mysqladmin: connect to server at 'localhost' failed
error: 'Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)'
Check that mysqld is running and that the socket: '/var/run/mysqld/mysqld.sock' exists!
vi /var/log/syslog

Code: Select all

May 29 17:29:49 vs138022 mysqld_safe[22423]: started
May 29 17:29:49 vs138022 mysqld[22428]: 060529 17:29:49 /usr/sbin/mysqld: Kann Datei 'host.MYI' nicht öffnen. (Fehler: 142)
May 29 17:29:49 vs138022 mysqld[22428]: 060529 17:29:49 Fatal error: Can't open privilege tables: File '/usr/share/mysql/charsets/?.conf' not found (Errcode: 2)
May 29 17:29:49 vs138022 mysqld[22428]: 060529 17:29:49 Aborting
May 29 17:29:49 vs138022 mysqld[22428]:
May 29 17:29:49 vs138022 mysqld[22428]: 060529 17:29:49 /usr/sbin/mysqld: Shutdown ausgeführt.
May 29 17:29:49 vs138022 mysqld[22428]:
May 29 17:29:49 vs138022 mysqld_safe[22432]: ended
May 29 17:29:55 vs138022 /etc/init.d/mysql[23583]: 0 processes alive and '/usr/bin/mysqladmin --defaults-file=/etc/mysql/debian.cnf ping' resulted in
May 29 17:29:55 vs138022 /etc/init.d/mysql[23583]: ^G/usr/bin/mysqladmin: connect to server at 'localhost' failed
May 29 17:29:55 vs138022 /etc/init.d/mysql[23583]: error: 'Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)'
May 29 17:29:55 vs138022 /etc/init.d/mysql[23583]: Check that mysqld is running and that the socket: '/var/run/mysqld/mysqld.sock' exists!
May 29 17:29:55 vs138022 /etc/init.d/mysql[23583]:
(Inno-DB ist bereits via skip-innodb in der /etc/mysql/my.cnf ausgeschalten.)
Hat jemand ne Idee, woran das liegen könnte?

duergner
RSAC
Posts: 976
Joined: 2003-08-20 11:30
Location: Pittsburgh, PA, USA

Re: MySQL error beim starten

Post by duergner » 2006-05-29 17:51

Error 142 ist glaub ich falsche Permissions. Aber frag mal Google danach oder warte is isotopp schreibt. ;-)

User avatar
Joe User
Project Manager
Project Manager
Posts: 11599
Joined: 2003-02-27 01:00
Location: Hamburg

Re: MySQL error beim starten

Post by Joe User » 2006-05-29 18:11

Code: Select all

joeuser@gentoo ~ $ perror 142
MySQL error code 142: Unknown character set used
PayPal.Me/JoeUserFreeBSD Remote Installation
Wings for LifeWings for Life World Run

„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.

Roger Wilco
Administrator
Administrator
Posts: 6001
Joined: 2004-05-23 12:53

Re: MySQL error beim starten

Post by Roger Wilco » 2006-05-29 18:12

duergner wrote:Error 142 ist glaub ich falsche Permissions. Aber frag mal Google danach oder warte is isotopp schreibt. ;-)
Nicht ganz:

Code: Select all

$ perror 142
MySQL error code 142: Unknown character set used
Die Meldung

Code: Select all

May 29 17:29:49 vs138022 mysqld[22428]: 060529 17:29:49 /usr/sbin/mysqld: Kann Datei 'host.MYI' nicht öffnen. (Fehler: 142) 
lässt außerdem darauf schließen, dass es die Tabelle host (in der Datenbank "mysql") zerlegt hat.

oxygen
RSAC
Posts: 2179
Joined: 2002-12-15 00:10
Location: Bergheim

Re: MySQL error beim starten

Post by oxygen » 2006-05-29 19:22

Mein erster Gedanke war, dass die MySQL Version noch kein UTF8 unterstützt, aber in der Fehlermeldung steht ja das Problem:
File '/usr/share/mysql/charsets/?.conf' not found (Errcode: 2)

User avatar
isotopp
RSAC
Posts: 482
Joined: 2003-08-21 10:21
Location: Berlin

Re: MySQL error beim starten

Post by isotopp » 2006-05-30 01:05

cRoC wrote:Hallo, ich hab ein kleines Problem beim starten des mysql-daemons.
Den Fehlermeldungen nach hat es mindestens Deine mysql.* Datenbank zerlegt, aber auch von Deinem Character Set Directory scheinen nur noch Trümmer vorhanden zu sein.

Wenn Du keine wichtigen Daten auf dem System hast, würde ich das Paket löschen und neu drauf machen.

croc
Posts: 71
Joined: 2005-09-16 15:30
Location: Leipzig

Re: MySQL error beim starten

Post by croc » 2006-05-30 13:24

Das würde sicher nichts ändern, da ich das paket erst installiert habe und der fehler schon beim ersten start-versuch auftrat.
Kann man sich die fehlerhaften dateien irgendwo runterladen?

User avatar
isotopp
RSAC
Posts: 482
Joined: 2003-08-21 10:21
Location: Berlin

Re: MySQL error beim starten

Post by isotopp » 2006-05-30 13:30

cRoC wrote:Das würde sicher nichts ändern, da ich das paket erst installiert habe und der fehler schon beim ersten start-versuch auftrat.
Kann man sich die fehlerhaften dateien irgendwo runterladen?
In diesem Fall ist die mysql.* Datenbank niemals erzeugt worden. Entweder weil das Debian Postinstall-Script die Dinger nicht anlegt oder weil Du die Datenbank falsch gestartet hast.

Normal sollte nach der Installation einmal mysql_install_db und einmal mysql_secure_installation laufen, sodaß die mysql.* Datenbanken angelegt werden, mysql:mysql mit o-a gehören und die anonymen User entfernt werden aus mysql.user und mysql.db. Außerdem sollten die Scripte dem root-User Paßworte verpassen.

croc
Posts: 71
Joined: 2005-09-16 15:30
Location: Leipzig

Re: MySQL error beim starten

Post by croc » 2006-05-30 16:52

Die Datenbank ist schon vorhanden. Das hab ich wohl vergessen zu erwähnen. /var/lib/mysql/mysql/ existiert und auch diese host.* dateien sind vorhanden und gehören dem benutzer mysql.
Und "mysql_install_db" schafft auch keine Abhilfe.
Was gibts denn noch für möglichkeiten?

User avatar
isotopp
RSAC
Posts: 482
Joined: 2003-08-21 10:21
Location: Berlin

Re: MySQL error beim starten

Post by isotopp » 2006-05-30 16:58

cRoC wrote:Die Datenbank ist schon vorhanden. Das hab ich wohl vergessen zu erwähnen. /var/lib/mysql/mysql/ existiert und auch diese host.* dateien sind vorhanden und gehören dem benutzer mysql.
Und "mysql_install_db" schafft auch keine Abhilfe.
Was gibts denn noch für möglichkeiten?
1. Die Dateien in /var/lib/mysql gehören nicht dem User mysql:mysql
2. Die Dateien sind nicht korrekt angelegt worden und beschädigt.

User avatar
Joe User
Project Manager
Project Manager
Posts: 11599
Joined: 2003-02-27 01:00
Location: Hamburg

Re: MySQL error beim starten

Post by Joe User » 2006-05-30 17:31

Brechstange:

Code: Select all

/etc/init.d/mysql stop
rm -r /var/lib/mysql
mkdir /var/lib/mysql
chown mysql:mysql /var/lib/mysql
chmod 0750 /var/lib/mysql
mysql_install_db
/etc/init.d/mysql start
mysql_secure_installation
/etc/init.d/mysql restart
PayPal.Me/JoeUserFreeBSD Remote Installation
Wings for LifeWings for Life World Run

„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.

croc
Posts: 71
Joined: 2005-09-16 15:30
Location: Leipzig

Re: MySQL error beim starten

Post by croc » 2006-05-31 13:29

Ich hab das mal ausgeführt und es scheint erstmal zu funktionieren trotz, da die mysql-prozesse gestartet werden.
/etc/init.d/mysql restart

Code: Select all

Stopping MySQL database server: mysqld...failed.
/usr/bin/mysqladmin: connect to server at 'localhost' failed
error: 'Keine Zugriffsberechtigung für Benutzer: 'debian-sys-maint@localhost'. (Verwendetes Passwort: Ja)'
Killing MySQL database server by signal: mysqld.
Starting MySQL database server: mysqld.
Checking for crashed MySQL tables in the background.
/usr/bin/mysqladmin: connect to server at 'localhost' failed
error: 'Keine Zugriffsberechtigung für Benutzer: 'debian-sys-maint@localhost'. (Verwendetes Passwort: Ja)'
vs138022:/etc/init.d# /usr/bin/mysqladmin: connect to server at 'localhost' failed
error: 'Keine Zugriffsberechtigung für Benutzer: 'debian-sys-maint@localhost'. (Verwendetes Passwort: Ja)'
Aber was bedeutet immer der fehler mit dem benutzer "debian-sys-maint"? Ich versteh das nicht so ganz, weil der mysqld doch eigentlich als root gestartet wird und die datenbanken doch auch nichts mit debian-sys-maint zu tun haben.

User avatar
Joe User
Project Manager
Project Manager
Posts: 11599
Joined: 2003-02-27 01:00
Location: Hamburg

Re: MySQL error beim starten

Post by Joe User » 2006-05-31 17:09

Wer/Was hat den User denn wie/warum angelegt?
PayPal.Me/JoeUserFreeBSD Remote Installation
Wings for LifeWings for Life World Run

„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.

User avatar
isotopp
RSAC
Posts: 482
Joined: 2003-08-21 10:21
Location: Berlin

Re: MySQL error beim starten

Post by isotopp » 2006-06-01 11:57

cRoC wrote:/usr/bin/mysqladmin: connect to server at 'localhost' failed
error: 'Keine Zugriffsberechtigung für Benutzer: 'debian-sys-maint@localhost'. (Verwendetes Passwort: Ja)'
Debian legt einen Benutzer debian-sys-maint@localhost an, der alle Rechte hat. Das Paßwort für diesen Benutzer steht im Klartext in /etc/mysql/debian.conf oder so ähnlich. Dies ist nicht MySQL-Standard.

Debian verwendet diesen Benutzer um eine Reihe von Wartungsdingen zu erledigen.

Wenn Du jetzt diese Fehlermeldungen bekommst, ist das normal, denn Du hast nun ein MySQL-Standardsetup ohne Debiansmen. Du kannst den User mit

GRANT all ON *.* TO 'debian-sys-maint'@'localhost' IDENTIFIED BY '...'

anlegen. Das Paßwort entnimmst Du der o.a. Datei, es ist zufällig generiert. Danach gehen auch alle die Wartungsdebianismen wieder.

croc
Posts: 71
Joined: 2005-09-16 15:30
Location: Leipzig

Re: MySQL error beim starten

Post by croc » 2006-06-01 16:17

isotopp wrote:Du kannst den User mit

GRANT all ON *.* TO 'debian-sys-maint'@'localhost' IDENTIFIED BY '...'

anlegen.
Wie/wo kann ich diesen Benutzer anlegen?

User avatar
isotopp
RSAC
Posts: 482
Joined: 2003-08-21 10:21
Location: Berlin

Re: MySQL error beim starten

Post by isotopp » 2006-06-01 17:04

cRoC wrote:
isotopp wrote:Du kannst den User mit

GRANT all ON *.* TO 'debian-sys-maint'@'localhost' IDENTIFIED BY '...'

anlegen.
Wie/wo kann ich diesen Benutzer anlegen?
Überall da, wo Du ein MySQL Kommando als MySQL-root absetzen kannst. Also im MySQL Kommandozeilenclient, im MySQL Administrator, im phpmyadmin und und und.

croc
Posts: 71
Joined: 2005-09-16 15:30
Location: Leipzig

Re: MySQL error beim starten

Post by croc » 2006-06-02 15:40

das hab ich mal ausprobiert, aber erhalte immer folgenden fehler:
mysqladmin -u root -p GRANT all ON *.* TO 'debian-sys-maint'@'localhost' IDENTIFIED BY '...'
Enter password: **********
mysqladmin: Unknown command: 'GRANT'
Warscheinlich stelle ich mich grad zu dumm an. Wie müsste es denn aussehen, wenn ich das nur über die Shell einstellen kann?
phpmyadmin hab ich nicht.

User avatar
isotopp
RSAC
Posts: 482
Joined: 2003-08-21 10:21
Location: Berlin

Re: MySQL error beim starten

Post by isotopp » 2006-06-02 16:01

cRoC wrote:das hab ich mal ausprobiert, aber erhalte immer folgenden fehler:
mysqladmin -u root -p GRANT all ON *.* TO 'debian-sys-maint'@'localhost' IDENTIFIED BY '...'
Verzeih mir wenn ich frage, aber was willst Du eigentlich mit einer Datenbank?

Wie dem auch sei: Der MySQL Kommandozeilenclient heißt "mysql", nicht "mysqladmin". Den MySQL Administrator findest Du hier: http://dev.mysql.com/downloads/administrator/1.1.html und den MySQL Query Browser hier: http://dev.mysql.com/downloads/query-browser/1.1.html.

Und es muß genau so aussehen wie ich geschrieben habe, nur im MySQL Kommandozeilenclient "mysql", nicht in "mysqladmin".

web
Posts: 9
Joined: 2005-07-31 14:20

Gleicher Fehler / Keine Lösung ERROR 2002: Can't connect to local MySQL server through socket

Post by web » 2006-07-10 21:30

Hallo Leute,

ich habe das gleiche / ein ähnliches Problem mit MySql unter Debian.

Ich habe folgenden Lösungsvorschlag versucht:
Joe User wrote:Brechstange:

Code: Select all

/etc/init.d/mysql stop
rm -r /var/lib/mysql
mkdir /var/lib/mysql
chown mysql:mysql /var/lib/mysql
chmod 0750 /var/lib/mysql
mysql_install_db
/etc/init.d/mysql start
mysql_secure_installation
/etc/init.d/mysql restart
Und die Folgende Fehlermeldung erhalten: am Ende erhalten.
Alles andere klappte ohne Fehler (löschen und neu installieren)
    /etc/init.d/mysql restart Stopping MySQL database server: mysqld. Starting MySQL database server: mysqld...failed.
Der Fehler tritt z.B. hier auf:
    # mysql -uroot -p Enter password: ERROR 2002: Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
Hat noch jmd eine Idee für mich !?!
Das und einige andere Foren habe ich schon erfolglos durchgeackert.

duergner
RSAC
Posts: 976
Joined: 2003-08-20 11:30
Location: Pittsburgh, PA, USA

Re: MySQL error beim starten

Post by duergner » 2006-07-10 22:15

Schon mal auf die Idee gekommen, dass im Logfile vielleicht stehen koennte wieso dein MySQL nicht mehr hoch kommt? Nein? Dann mach das mal!

web
Posts: 9
Joined: 2005-07-31 14:20

Re: MySQL error beim starten

Post by web » 2006-07-10 22:27

duergner wrote:Schon mal auf die Idee gekommen, dass im Logfile vielleicht stehen koennte wieso dein MySQL nicht mehr hoch kommt? Nein? Dann mach das mal!
Ja das habe ich, stehen erstaunlicher weise keine Fehler drinn :-/

duergner
RSAC
Posts: 976
Joined: 2003-08-20 11:30
Location: Pittsburgh, PA, USA

Re: MySQL error beim starten

Post by duergner » 2006-07-10 22:56

Das glaub ich nicht. Wenn er nicht hoch kommt dann stehen immer Gruende im syslog oder messages. Das waere der erste Server, der das nicht machen wuerde. Oder du hast was ganz schoen kaputt konfiguriert.