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, 1103 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 ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
PHP
PHP MySQL Login (7)

Frage von Yanmai zum Thema PHP ...

Webbrowser
gelöst Daten in entfernte Mysql DB schreiben (3)

Frage von nullacht15 zum Thema Webbrowser ...

Datenbanken
MySQL: Zwei Spalten in einer View zählen (11)

Frage von Memo66 zum Thema Datenbanken ...

Heiß diskutierte Inhalte
Microsoft
Ordner mit LW-Buchstaben versehen und benennen (21)

Frage von Xaero1982 zum Thema Microsoft ...

Netzwerkmanagement
gelöst Anregungen, kleiner Betrieb, IT-Umgebung (18)

Frage von Unwichtig zum Thema Netzwerkmanagement ...

Windows Update
Treiberinstallation durch Windows Update läßt sich nicht verhindern (17)

Frage von liquidbase zum Thema Windows Update ...