CronJob-Service
bei SELFPHP mit ...
|
+ minütlichen Aufrufen
+ eigenem Crontab Eintrag
+ unbegrenzten CronJobs
+ Statistiken
+ Beispielaufrufen
+ Control-Bereich
Führen Sie mit den CronJobs von
SELFPHP zeitgesteuert Programme
auf Ihrem Server
aus. Weitere Infos
|
:: Anbieterverzeichnis ::
Globale Branchen
Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP
:: Newsletter ::
Abonnieren Sie hier den kostenlosen
SELFPHP Newsletter!
|
MySQLi/PDO/(MySQL) Anfänger, Fortgeschrittene oder Experten können hier Fragen und Probleme rund um MySQLi/PDO/(MySQL) diskutieren |
22.01.2011, 15:08:36
|
Anfänger
|
|
Registriert seit: Mar 2008
Beiträge: 26
|
|
MySQL: Fehler beim Lesen eines Kommunikationspakets
Hi!
Ich teste gerade das aktuelle MySQL 5.5.8 zusammen mit phpBB2. Dabei tritt unregelmäßig das Phänomen auf, das die Verbindung zur Datenbank für kurze Zeit abbricht. Das äußert sich in diesen Fehlermeldungen:
Im Browser kommt nur ein
Zitat:
ERROR: no connection to mysql
|
und im Errorlog der DB steht dann:
Zitat:
[Warning] Abbruch der Verbindung 4149 zur Datenbank 'xxx'. Benutzer: xxx', Host: 'localhost' (Fehler beim Lesen eines Kommunikationspakets)
|
Nach ca. 1 Minute erholt sich das ganze wieder und läuft über Stunden/Tage störungsfrei.
Wenn ich die Dokumentation dazu richtig verstehe, ist dies der Fehler 1158:
Zitat:
Fehler: 1158 SQLSTATE: 08S01 (ER_NET_READ_ERROR)
Meldung: Fehler beim Lesen eines Kommunikationspakets
|
Nur selbst Tante Google gibt dazu keine wirklich nachvollziehbare Antwort oder gar Lösung.
Was könnte hierfür die Ursache sein?
Bye
|
22.01.2011, 18:30:06
|
Junior Member
|
|
Registriert seit: Aug 2010
Alter: 14
Beiträge: 395
|
|
AW: MySQL: Fehler beim Lesen eines Kommunikationspakets
Ist PHP und MySQL auf dem selben Server?
Ich vermute einen Fehler auf Netzwerkebene.
Grüße
Thomas
__________________
Die SQL-Backstube
Bietet Rezepte, Lösungen und ausführliche Beispiele rund um gesundes SQL und zufriedene Datenbanken.
|
22.01.2011, 18:42:17
|
Anfänger
|
|
Registriert seit: Mar 2008
Beiträge: 26
|
|
AW: MySQL: Fehler beim Lesen eines Kommunikationspakets
Zitat:
Zitat von thomas_w
Ist PHP und MySQL auf dem selben Server?
|
Ja, Apache 2.2.17, PHP 5.2.17 und MySQL 5.5.8 laufen hier auf einem XP Pro Rechner. Dieser hängt mit 1GBit an einem DIR-855 (D-Link) und dieser mit 100MBit über Kabelmodem an der TV Dose von KDG. Das ganze ist dann per quasi fester IP und Selfhost.de über das Internet erreichbar.
Zitat:
Ich vermute einen Fehler auf Netzwerkebene.
|
Hmmm, wonach müsste ich da suchen?
|
22.01.2011, 18:53:29
|
Junior Member
|
|
Registriert seit: Aug 2010
Alter: 14
Beiträge: 395
|
|
AW: MySQL: Fehler beim Lesen eines Kommunikationspakets
Sorry, bin leider kein MySQL Admin. Ich vermute, dass in der TCP/IP Kommunikation zwischen PHP und MySQL etwas schief geht. Da beide auf dem selben Server sind, kommen eigentlich keine Leitungs- oder Netzwerkkartenprobleme in Betracht.
Ist nachvollziehbar, ob der Error bei einer bestimmten Aktion :
- bestimmter SQL
- Platte voll
- Temp bereich voll
- Uhrzeit
- extreme Last
vor kommt?
Es gibt in Windows die "Ereignisanzeige" (Systemsteuerung/Verwaltung) eventuell steht da noch ein Hinweis/Error drin.
Grüße
Thomas
__________________
Die SQL-Backstube
Bietet Rezepte, Lösungen und ausführliche Beispiele rund um gesundes SQL und zufriedene Datenbanken.
|
22.01.2011, 19:15:23
|
Junior Member
|
|
Registriert seit: Aug 2010
Alter: 14
Beiträge: 395
|
|
AW: MySQL: Fehler beim Lesen eines Kommunikationspakets
Ich habe eben noch dies gefunden:
http://iderror.com/errors/mysql/mysq...et_read_error/
Zitat:
May 3rd, 2009 at 16:01 | #1
Reply | Quote
Increase the max_allowed_packet size. If this does not solve the issue, try one of the following workarounds:
a. Threads that are not closed properly can cause this error. Use the conn# to check the query log, analyze your code and make sure that all threads are properly closed before opening new ones.
b. Check if a defective table is causing this error using mysqlcheck. Then repair the table in MySql client.
|
Grüße
Thomas
__________________
Die SQL-Backstube
Bietet Rezepte, Lösungen und ausführliche Beispiele rund um gesundes SQL und zufriedene Datenbanken.
|
23.01.2011, 10:03:38
|
Anfänger
|
|
Registriert seit: Mar 2008
Beiträge: 26
|
|
AW: MySQL: Fehler beim Lesen eines Kommunikationspakets
Moin!
Zitat:
Zitat von thomas_w
Ist nachvollziehbar, ob der Error bei einer bestimmten Aktion:
- bestimmter SQL
- Platte voll
- Temp bereich voll
- Uhrzeit
- extreme Last
vor kommt?
|
Hmmm, das ganze ist nicht wirklich nachvollziehbar. Die Platte ist nur zu einem drittel gefüllt, der Temp Bereich ist leer und die Uhrzeit ist auch egal.
Bei bestimmten SQL Abfragen und Last hake ich mal nach. Wobei Last bei ca. 10 Usern gleichzeitig im Forum eigentlich nicht sein dürfte, selbst wenn diese im Sekundentakt Seiten aufrufen.
Zitat:
Es gibt in Windows die "Ereignisanzeige" (Systemsteuerung/Verwaltung) eventuell steht da noch ein Hinweis/Error drin.
|
Das werde ich beim nächste Vorfall umgehend checken.
|
23.01.2011, 10:09:41
|
Anfänger
|
|
Registriert seit: Mar 2008
Beiträge: 26
|
|
AW: MySQL: Fehler beim Lesen eines Kommunikationspakets
Hi!
Zitat:
Zitat von thomas_w
|
Das klingt interessant.
max_allowed_packet habe ich jetzt mal vom 16M auf 32M erhöht.
Der Punkt b scheidet aus, die Tabellen sind alle o.k.
Bleibt noch Punkt a:
Zitat:
Threads, die nicht geschlossen sind können diesen Fehler verursachen. Analysieren Sie den Code und stellen Sie sicher, dass alle Threads ordnungsgemäß vor dem erneuten Öffnen geschlossen sind.
|
Das werde ich wohl mal checken müssen.
|
23.01.2011, 12:43:38
|
Member
|
|
Registriert seit: Nov 2007
Beiträge: 843
|
|
AW: MySQL: Fehler beim Lesen eines Kommunikationspakets
Hi
Zitat:
auf einem XP Pro Rechner. Dieser hängt mit 1GBit an einem DIR-855 (D-Link) und dieser mit 100MBit über Kabelmodem an der TV Dose von KDG
|
Also du benutzt einen windows xp rechner? Warum? Schon mal von maximalen Verbindungen
auf einem Windows-nicht-Server-System gehört?
Zitat:
Wobei Last bei ca. 10 Usern gleichzeitig im Forum eigentlich nicht sein dürfte, selbst wenn diese im Sekundentakt Seiten aufrufen.
|
1GBit->100MBit->DSL upload??? Beachte den Paketaustausch auf der ganzen Linie gerade wenn 10 Leute auf der Seite rumsurfen. (PC -> Router -> Anbieter)
Ich habe schon so einige Tests mit Windoof Rechnern und Webservices gemacht (FTP,HTTP, TS,GV usw) und bis auf die Serverversionen (W2000,W2003) lief alles ungepatched mässig und glaub mir ich habe hier eine "sehr gute" Anbindung ans Netz ;)
mfg
CKaos
__________________
"Wenn die Leute Häuser so bauen würden, wie wir Programme schreiben, würde der erstbeste Specht unsere Zivilisation zerhacken."
In den allermeisten Fällen sitzt der Bug etwa 40 cm vor dem Monitor!
|
26.01.2011, 11:02:54
|
Anfänger
|
|
Registriert seit: Mar 2008
Beiträge: 26
|
|
AW: MySQL: Fehler beim Lesen eines Kommunikationspakets
Hi!
Zitat:
Zitat von Ckaos
Also du benutzt einen windows xp rechner? Warum? Schon mal von maximalen Verbindungen auf einem Windows-nicht-Server-System gehört?
|
Jupp, die max. Verbindungen sind bei mir bereits auf 50 erhöht/gepatcht worden.
Zitat:
Ich habe schon so einige Tests mit Windoof Rechnern und Webservices gemacht (FTP,HTTP, TS,GV usw) und bis auf die Serverversionen (W2000,W2003) lief alles ungepatched mässig und glaub mir ich habe hier eine "sehr gute" Anbindung ans Netz ;)
|
Neee, das schafft hier keiner mich von ein System mit 'nem X im Namen zu überzeugen. ;)
Bye
|
26.01.2011, 11:06:06
|
Anfänger
|
|
Registriert seit: Mar 2008
Beiträge: 26
|
|
AW: MySQL: Fehler beim Lesen eines Kommunikationspakets
Moin!
Ich habe jetzt mal den Error Report für SQL Abfragen in der PHP.INI aktiviert.:
Zitat:
mysql.trace_mode: Falls mysql.trace_mode aktiviert ist, werden Warnungen für Tabellen/Index Scans, nicht freigegebene Ergebnismengen und SQL-Fehler angezeigt.
|
Nun gibt es bei jedem Seitenaufruf folgenden Eintrag in die error.log:
Zitat:
PHP Warning: Unknown: 3 result set(s) not freed. Use mysql_free_result to free result sets which were requested using mysql_query() in Unknown on line 0
|
Wenn ich das jetzt richtig verstehe, werden bei 3 SQL Abfragen die Ergebnisse nicht aus dem Speicher gelöscht und letztere läuft dann so nach und nach voll.
Mit der Angabe " Unknown on line 0" kommt man natürlich nicht groß weiter.
Wie bekomme ich heraus welche SQL Abfrage hiervon betroffen ist?
Bye
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
Forumregeln
|
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
Alle Zeitangaben in WEZ +2. Es ist jetzt 07:13:14 Uhr.
|