PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Mysql ERROR 2002



Stift
01.06.07, 06:10
Hallo zusammen,

ich habe ein Problem mit meinen MYSQL-Server. Ich bin auf einen anderen Server gezogen (FC5 -> FC6) und seitdem habe ich ein Problem mit MYSQL.

Er zeigt dann auf der PHP-Seite folgenden Fehler an:


Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /var/www/html/** on line 24 OK
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)


Die Haeufigkeit:
Auf manchen Seiten kommt der Fehler immer und auf anderen gar nicht.

Ich habe auf den Seiten beim Umzug nix geaendert.

Die Log-file sagen auch nix aussagekraeftiges aus.

Hat jemand einen Rat.

Stift

MiGo
01.06.07, 09:48
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
Steht doch da - entweder läuft der MySql-Server nicht oder aber er lauscht nicht auf einem Socket, sondern auf einer IP-Adresse.

Auf manchen Seiten kommt der Fehler immer und auf anderen gar nicht.
Lass mich raten - die Seiten die gehen erfordern keine Datenbankverbindung :)

Zur Lösung fallen mir mehrere Dinge ein:

* Schau mit "ps aux | grep mysql" nach, ob der MySql-Server denn überhaupt läuft
* Wenn nein, starte ihn :). Wenn er sich nicht starten lässt, poste hier die exakte Fehlermeldung und die passenden Zeilen aus dem Log (Achtung, musst du vermutlich erst in der /etc/mysql/my.cnf anschalten, das ist afaik aus Performacegründen ab Werk ausgeschaltet).
* Wenn er doch läuft, schau' mal in die Seiten die gehen und die, die nicht gehen, wie er sich mit der Datenbank verbindet. Gibt's da Unterschiede?

Stift
01.06.07, 10:50
Hallo,

der Server laeuft. Die Datenbankverbindung wird auf beiden Seitenarten (funktionierende bzw. nicht funktionierende) gleich aufgebaut.

Weiterer Hinweis:
Ein zweiter Rechner greift auch auf diese MYSQL-Server zu und seitdem Umzug meldet das Problem.

MiGo
01.06.07, 11:12
Die Datenbankverbindung wird auf beiden Seitenarten (funktionierende bzw. nicht funktionierende) gleich aufgebaut.
Und zwar wie (Quellcode)?
Hintergrund: Es macht einen deutlichen Unterschied, ob sich php beim Verbinden mit der Datenbank an "localhost" oder an "127.0.0.1" wendet :)

Edit: Gehen immer die selben Seiten nicht, oder gehen sie mal und mal nicht?

Stift
01.06.07, 12:07
Die Verbindungsdaten sind in einem PHP-File gespeichert. Dieses File wird mit Hilfe von include() in alle Files eingebunden, welche eine DB-Connection benoetigen.



Gehen immer die selben Seiten nicht, oder gehen sie mal und mal nicht?


Es funktionieren immer die selben Seiten nicht.

Stift
03.06.07, 07:10
Ich habe einen weiteren Hinweis gefunden. Dieser Fehler tritt nur dann auf wenn ich auf eine bestimmte Tabelle in einer bestimmten Datenbank zugreife.

MiGo
03.06.07, 10:39
Dieser Fehler tritt nur dann auf wenn ich auf eine bestimmte Tabelle in einer bestimmten Datenbank zugreife.
Dann hast du eventuell die Datenbank kaputtgemacht :)
Geht's denn "per Hand" (also mit phpmyadmin, mysql oder mysql-query-browser)?

Stift
03.06.07, 11:14
ich kann per console darauf teilweise zugreifen. Bedeutet "SELECT COUNT(*) FROM TABLE" wird abgebrochen aber "DELETE FROM TABLE WHERE .." funktioniert.


Die TABELLE hat ungefaehr eine groesse von 90 MB.

marce
03.06.07, 12:25
Wie hast Du denn die Daten umgezogen?

Mach mal ein check-tables (oder so ähnlich, sollte 'ne Option für mysqld sein...)

Stift
03.06.07, 12:40
siehe das Ergebnis

Funktion------------------------->Ergebnis:
mysqlcheck --auto-repair DB------>ERROR: 2013: Lost connection to Mysql ....
mysqlcheck -c DB---------------->ERROR: 2013: Lost connection to Mysql ....

Schaut nicht gut aus. :mad: :mad: :mad:

Das mysql Logfile sagt ueberhaupt nix, was muss ich machen damit mehr logeintraege entstehen?

marce
03.06.07, 14:55
Loglevel in der my.cnf auf Debug stellen. Du kannst Da übrigens auch ein SQL-Log erstellen lassen, manchmal hülft das auch zur Analyse...

Wie ist denn bei der Migration nun vorgegangen worden?

Stift
03.06.07, 18:06
Die Migration habe ich mit Hilfe vom MysqlAdmin vorgenommen.

marce
03.06.07, 21:27
... und wie genau? Oder ist das ein Geheimnis?

Stift
04.06.07, 06:14
das ist kein Geheimnis: Ueber die Backup/Restore-Funktion

marce
04.06.07, 07:09
auch schon mal über mysqldump / mysql probiert? Meist die sicherere Methode...

Stift
04.06.07, 10:51
ja versucht, aber dabei kommt eine Fehlermeldung. In dem SQL-File ist nicht nur eine Tabelle gespeichert, sondern die ganze Datenbank. Ich finde bei mysqlimport keine option die zulaesst, dass man eine gesamte Datenbank importieren kann.

Kennst du eine?

marce
04.06.07, 11:01
ja versucht, aber dabei kommt eine Fehlermeldung.
Aha. Und welche?


In dem SQL-File ist nicht nur eine Tabelle gespeichert, sondern die ganze Datenbank. Ich finde bei mysqlimport keine option die zulaesst, dass man eine gesamte Datenbank importieren kann.

Kennst du eine?
Alles kein Problem beim mysql.

Alles, DBs, Tabellen exportieren und entsprechend importieren. Völlig problemlos - da Du aber nicht sagst, was Du nun wie genau gemacht hast könnte ich nur raten, was denn evtl. schief gelaufen ist...

Stift
04.06.07, 12:02
Export habe ich die Datenbank mit Hilfe von MySQLAdmin mit Hilfe der Backup-Funktion.

Import habe ich die Datenbank mit Hilfe von MySQLAdmin mit Hilfe der Restore-Funktion.

Dann habe ich das Importieren mit Hilfe des mysqlimport-Befehls versucht.


[root@localhost ~]# mysqlimport DB /backup/FILE.sql
mysqlimport: Error: Tabelle 'DB.FILE' doesn't exist, when using table: FILE
[root@localhost ~]#

marce
04.06.07, 12:45
auch schon mal über mysqldump / mysql probiert? Meist die sicherere Methode...
Ja, womit denn nun?

Ich fragte aber nach mysqlsdump bzw. mysql...

"Fremdsoftware" ist beim Versionsübergreifenden Export/Import manchmal überfordert...

Stift
04.06.07, 12:46
Es ist eine Software von MYSQL selber

http://www.mysql.com/products/tools/administrator/

marce
04.06.07, 12:48
Weiss ich. Beantwortet aber nicht meine Frage.

Stift
04.06.07, 12:58
nein mit mysqldump nicht, da ich nicht mehr auf den Server zugreifen kann