• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

Wie bring ich MySQL zum laufen

Status
Für weitere Antworten geschlossen.

ATha1

Newbie
Hallo Leute...

Ich habe mySQL installiert mittels Yast, und so wies aussieht sollte auch alles funktionieren...

Jedoch der Schein trügt...

ich weis nicht wirklich wie ich hier was machen soll, denn ich bekomme keine Verbindung zum Server:
Code:
ERROR 2002: Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
obwohl zuvor:
Code:
      /etc/init.d/mysql start
Starting service MySQL
                                                                                                                 done
      /etc/init.d/mysql status
Checking for service MySQL:                                                                                      running
und danach wenn ich den status nochmals abfrage:
Code:
       /etc/init.d/mysql status
Checking for service MySQL:                                                                                      unused

ich weis zwar nicht genau welche logdatei hier genau für MySQL zuständig ist, aber in mysqld.log unter /var/lib/mysql steht unter anderem folgendes:

Code:
Fatal error: Can't open privilege tables: Can't find file: './mysql/host.frm' (errno: 13)

Kann mir jemand helfen und sagen was ich tun soll, um die DB zum laufen zu bringen?
 

LH

Member
inselberg schrieb:

Damit hilfst du ihm imho garnicht.

Also:

Es könnte sein das dein MySQL beschädigt ist. Grundsätzlich solltest du in der /var/log/messages nachsehen, da hinterlassen viele daemon meldungen wenn sie abstürzen.

Mit "ps aux |grep mysql" kannst du dir ansehen welche prozesse von mysql laufen.

Es ist gut möglich das ein Rechteproblem vorliegt, oder die mysql dateien in /var/lib/mysql fehlen oder defekt sind.

Hasdt du MySQL auch als Root gestartet? Das ist natürlich auch wichtig.

Welche SUSE hast du, und woher kommst das MySQL? (SUSEs, oder ein eigenes?).

Ansonsten wenn noch nichts in der DB ist: MySQL deinstallieren, daten unter /var/lib/mysql löschen, neuinstallieren.
 
OP
ATha1

ATha1

Newbie
Hmm klingt soweit vernünftig...

In der DB sind noch keine Daten, also dachte ich mir müsste es daran vielleicht liegen, jedoch aus den Meldungen in anderen Threads bin ich nicht schlau geworden...

Also und nun zu deiner Frage:
SuSE 9.1 und MySQL ist auch von der SuSE DVD

Ich habe auch vorher schon in der /var/lib/messages gegrept, jedoch keinen Eintrag mit mysql gefunden, bis auch einen, aber da stand nur das ein User angelegt worden ist, eben unter /var/lib (mysql)

Ich habe auch den Server als root gestartet, sonst würde das ganze sowieso immer nur failed liefern, aber das witzige ist, das es anscheinend trotzdem nicht läuft.

hab vorher auch schon mal mit ps ax | grep -i mysql nach einträgen gesucht aber nichts gefunden...
 

LH

Member
Dann würde ich es wirklich mit einem reinstall des mysql versuchen. Wäre jetzt einfach mal einen Versuch werd :)
 
OP
ATha1

ATha1

Newbie
OK bin am Reinstall.
Folgende Pakete sind ausgewählt, bzw. wurden automatisch mitselektiert:

  • mysql
    mysglcc
    mysql-client (automatisch)
    mysql-shared (automatisch)
    perl-DBD-mysql (automatisch)
    php4-mysql
    phpMyAdmin
so und jetzt hoffen das alles hinhaut :)
 
OP
ATha1

ATha1

Newbie
OK der Reinstall hatte genau null geholfen...

das einzige was jetzt ist, ich bekomme beim Starten gleich ein failed, und naja die gleichen Fehler.

/var/lib/mysql/mysqld.log :
  • 040812 06:24:21 mysqld started
    040812 6:24:21 Fatal error: Can't open privilege tables: Can't find file: './mysql/host.frm' (errno: 13)
    040812 6:24:21 Aborting

    040812 6:24:21 /usr/sbin/mysqld: Shutdown Complete

    040812 06:24:21 mysqld ended

die Datei ./mysql/host.frm ist vorhanden, und gehört zu root...
möglicherweise liegst daran, das nur root und root Group diese Lesen und Schreiben können ?
 
ATha1 schrieb:
die Datei ./mysql/host.frm ist vorhanden, und gehört zu root...
möglicherweise liegst daran, das nur root und root Group diese Lesen und Schreiben können?
Ganz genau. Für den Betrieb braucht der mysqld Zugriff auf die Rechtetabellen der Datenbank mysql. :oops:

Ich hatte das selbe Problem und bin dann nach der Anleitung "Installing Apache, PHP, and MySQL on SUSE Linux 9.1 Professional" vorgegangen (runterscrollen zum Install MySQL).


Hier die Kurzfassung:
  • * mit YaST eine neue Benutzergruppe mit Namen mysql anlegen
    * Die Benutzer daemon, mysql und root als Mitglieder dieser Gruppe angeben und bestätigen
    * root shell starten
    * /usr/bin/mysql_install_db --user=mysql
    * cd /var/lib/mysql
    * chown -cR mysql:mysql .
Dann hat's bei mir geklappt.


Mittlerweile gehören die Dateien in meinem /var/lib/mysql/mysql Verzeichis alle mysql:daemon. Sehr wahrscheinlich reicht nach dem mysql_install_db --user=mysql ein einfaches chown -cR mysql:daemon /var/lib/mysql aus, um dem mysqld Zugriff zu gewähren. (Der Benutzer mysql ist nämlich bereits Mitglied der Gruppe daemon) :roll:
Wäre toll, wenn du das für uns ausprobieren könntest. :wink:
 
OP
ATha1

ATha1

Newbie
OK wies aussieht haut jetzt mal das starten hin.

/var/lib/mysql/mysqld.log hat jetzt folgende Einträge:

  • 040824 16:11:40 mysqld started
    /usr/sbin/mysqld: ready for connections.
    Version: '4.0.18' socket: '/var/lib/mysql/mysql.sock' port: 3306
    040824 16:12:17 /usr/sbin/mysqld: Normal shutdown

    040824 16:12:17 /usr/sbin/mysqld: Shutdown Complete

    040824 16:12:17 mysqld ended

Sieht also ganz gut aus und phpMyAdmin geht jetzt auch...

Danke ;-)
 
Status
Für weitere Antworten geschlossen.
Oben