Seite 1 von 2
session table voll ?
Verfasst: 11.06.2003 07:43
von fussle
hatte gerade eben folgende fehlermeldung:
Code: Alles auswählen
Warning: Failed opening './language/lang_english/lang_main.php' for inclusion (include_path='.:/usr/local/lib/php') in /home/xxx/forum/includes/functions.php on line 616
phpBB :
Error creating new session
DEBUG MODE
SQL Error : 1114 The table 'phpbb_sessions' is full
INSERT INTO phpbb_sessions (session_id, session_user_id, session_start, session_time, session_ip, session_page, session_logged_in) VALUES ('cde0fb6ccefca89c9361efcb36a0312c', -1, 1055309836, 1055309836, 'd9e1af52', 27, 0)
Line : 152
File : /home/xxx/forum/includes/sessions.php
woran liegt es ? hab gestern den
DB Maintenance Mod 0.9.0 eingebaut.
nach dem leeren der table via phpmyadmin funktionierte wieder alles.
nachtrag: folgende funktion hab ich genutzt:
Konvertiere Sitzungs-Tabelle - Diese Funktion konvertiert die Sitzungs-Tabelle zum HEAP-Tabellen-Typ. Dies wird normalerweise automatisch während der Installation gemacht, um die Geschwindigkeit von phpBB etwas zu verbessern. Diese Funktion sollte nur ausgeführt werden, wenn die Sitzungs-Tabelle keine HEAP-Tabelle ist.
Verfasst: 11.06.2003 10:50
von PhilippK
War nicht ganz die richtige Funktion (das Leeren der Sitzungsdaten hätte ausgereicht) - aber vom Ergebnis her sollte es aufs gleiche kommen.
Zum Fehler selbst: kann ab und zu mal vorkommen, dass die Sitzungs-Tabelle voll läuft. Die Zahl der Einträge dort ist aus Sicherheitsgründen begrenzt - sonst wäre ggf. irgendwann die Sitzungstabelle so groß wie der ganze Arbeitsspeicher des Rechners...
Gruß, Philipp
Verfasst: 11.06.2003 11:29
von fussle
also ich hab danach erstmal die session_table gelöscht und folgende angelegt:
Code: Alles auswählen
CREATE TABLE `phpbb_sessions` (
`session_id` char(32) NOT NULL default '',
`session_user_id` mediumint(8) NOT NULL default '0',
`session_start` int(11) NOT NULL default '0',
`session_time` int(11) NOT NULL default '0',
`session_ip` char(8) NOT NULL default '0',
`session_page` int(11) NOT NULL default '0',
`session_logged_in` tinyint(1) NOT NULL default '0',
PRIMARY KEY (`session_id`),
KEY `session_user_id` (`session_user_id`),
KEY `session_id_ip_user_id` (`session_id`,`session_ip`,`session_user_id`)
) TYPE=HEAP;
seit dem gehts auch wieder ... muss ich jetzt noch irgendwas beachten ?
Verfasst: 11.06.2003 11:45
von PhilippK
Du hast die Größenbegrenzung der HEAP-Tabelle vergessen. Die würde ich aus Sicherheitsgründen hinzufügen (frag mich jetzt aber bitte nicht, mit welchem Befehl - müsste ich später nachschauen). Da die Tabelle ausschließlich im Speicher existiert, läufst du sonst Gefahr, dass - wenn wieder was schief geht - der komplette Speicher durch die Session-Tabelle gefressen wird.
Gruß, Philipp
Verfasst: 11.06.2003 11:51
von fussle
@philipp - danke erstmal für die infos

- wäre klasse, wenn mal jemand den kompletten sql posten könnte
Verfasst: 12.06.2003 10:39
von PhilippK
So, hier der SQL-Befehl:
Gruß, Philipp
Verfasst: 12.06.2003 11:57
von fussle
danke

Verfasst: 18.05.2004 21:45
von Gast
PhilippK hat geschrieben:So, hier der SQL-Befehl:
Gruß, Philipp
Und was machst du wenn sich mehr als 500 User auf deinem Board tummeln?
Warum kann die Tabelle nicht im Typ MyISAM erstellt werden, und ohne Begrenzung laufen?

Verfasst: 18.05.2004 22:51
von PhilippK
xGalaxius hat geschrieben:Und was machst du wenn sich mehr als 500 User auf deinem Board tummeln?

500 User gleichzeit online ist schon recht heftig - wenn du so viele haben solltest, wird's sowieso Zeit für 'nen anderes Datenbank-Konzept
xGalaxius hat geschrieben:Warum kann die Tabelle nicht im Typ MyISAM erstellt werden, und ohne Begrenzung laufen?

Kann man natürlich auch - kostet etwas Performance und (wenn's nicht funzt) ist irgendwann die Platte voll.
Gruß, Philipp
Verfasst: 19.05.2004 07:58
von Gast
PhilippK hat geschrieben:xGalaxius hat geschrieben:Und was machst du wenn sich mehr als 500 User auf deinem Board tummeln?

500 User gleichzeit online ist schon recht heftig - wenn du so viele haben solltest, wird's sowieso Zeit für 'nen anderes Datenbank-Konzept

Ist das phpBB dafür nicht geeignet?

Da habe ich aber ganz anderes vor! Ich hatte mir sogar schon eine Lizenz vom vBulletin gekauft deswegen, bin aber reumütig wieder zurückgekehrt, weil es geht einfach nichts über phpBB.
€dit:
Gestern hatte ich die Tabelle gelöscht (geleert), und tagsüber 10 Besucher oder so gehabt. Nachts hat dann Google gewütet:
Code: Alles auswählen
SQL-Befehl : [Bearbeiten] [SQL erklären] [PHP-Code erzeugen]
SELECT count( * )
FROM `phpbb1_sessions`
WHERE session_user_id = - 1
count( * )
816
PhilippK hat geschrieben:xGalaxius hat geschrieben:Warum kann die Tabelle nicht im Typ MyISAM erstellt werden, und ohne Begrenzung laufen?

Kann man natürlich auch - kostet etwas Performance und (wenn's nicht funzt) ist irgendwann die Platte voll.
Warum? Werden die Einträge in der session table denn nie gelöscht (defaultmäßig)?
LG
Sascha