Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

MySQL Grösse eines Textfeldes

Frage Entwicklung Datenbanken

Mitglied: ChrisFah

ChrisFah (Level 1) - Jetzt verbinden

10.08.2014 um 18:52 Uhr, 1122 Aufrufe, 1 Kommentar, 1 Danke

Hallo,
leider habe ich wieder ein Mysql Datenbank Problem:

Ich habe ein grosses Array mit mehreren tausend Textbausteinen. Dieses soll in der Datenbank gespeichert werden. Dazu wird das Array serialisiert (in PHP serialize()) und dann natürlich für die DB noch escaped.
Die Grösse dieser Daten können dabei durchaus bis zu 5000 KB betragen. Daher habe ich das Textfeld zuerst auf Mediumtext und dann auf Longtext gesetzt.
Leider verabschiedet sich der MySQL Server (derzeit noch auf XAMPP) mit folgender Fehlermeldung:

Warning: mysql_query(): MySQL server has gone away in D:\xampp\htdocs\.....
Warning: mysql_query(): Error reading result set's header in D:\xampp\htdocs\....
[MYSQL ERROR] 2006 - MySQL server has gone away

Ich konnte mit etwas Experimentieren herausfinden, daß der Fehler auftritt, sobald die gespeicherten Daten eine Grösse von 1.024KB übersteigen. Dabei sollte doch Mediumtext bis 16MB und Longtext bis 4 GB reichen.

Wer kann mir da weiterhelfen?

Danke im voraus,
Chris
Mitglied: ChrisFah
10.08.2014 um 19:37 Uhr
Habe die Lösung gefunden:

Es war die max_allowed_packet Size, die die Abstürze verursacht hat.
Lösung:
Vor der eigentlichen "grossen" query kommt eine query, die die maximale Paketgrösse erhöht. Je nach Grösse der Daten habe ich das so gelöst:

PHP: $query = 'SET @@global.max_allowed_packet = '.(strlen($into) + 1024);

Das + 1024 ist nötig, da nur ein Vielfaches von 1024 erlaubt ist, sonst wird abgerundet. Und mit der Datengrösse + 1024 ist man auf der sicheren Seite.

Lg, Chris
Bitte warten ..
Ähnliche Inhalte
Datenbanken
gelöst MySQL "order by" erst bestimmtes Wort, dann alphabetisch (9)

Frage von AS-N00 zum Thema Datenbanken ...

Windows Server
MySQL Dienst startet nicht mehr nach Absturz SBS2011 (4)

Frage von JohnMcenroe zum Thema Windows Server ...

Datenbanken
gelöst MYSQL View group by (2)

Frage von schneerunzel zum Thema Datenbanken ...

VB for Applications
gelöst Feld mit CSV-Daten aus MySQL-Datenbank einlesen (3)

Frage von Andreas.HH1 zum Thema VB for Applications ...

Neue Wissensbeiträge
Batch & Shell

Batch - ein paar Basics die man kennen sollte

Tipp von Pedant zum Thema Batch & Shell ...

Microsoft

Restrictor: Profi-Schutz für jedes Window

(6)

Tipp von AlFalcone zum Thema Microsoft ...

Batch & Shell

Batch zum Zurücksetzen eines lokalen Profils

Tipp von Mr.Error zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Windows Server
gelöst Benutzer lässt sich nur an einem Clientcomputer anmelden (16)

Frage von Ammann zum Thema Windows Server ...

LAN, WAN, Wireless
gelöst Netzwerk in 2 Teile trennen (11)

Frage von pattex zum Thema LAN, WAN, Wireless ...

Batch & Shell
gelöst Gruppenzugehörigkeit von AD Usern ermitteln - die Perfektion fehlt (11)

Frage von Stefan007 zum Thema Batch & Shell ...