start galerielinksmobil impressum   suche  
galupki.de
image MySqlDatenbank

MySQL Datenbank

Dieser Wiki läuft normalerweise auf einem flat file system, d.h. es ist keine spezielle Datenbank nötig.

Eine Ausnahme ist das anlegen von speziellen DatenBanken (eine Datenbank je Wikiseite möglich).

Aus Performancegründen wird hierzu eine MySQL-Datenbank vorausgesetzt.

Der Wiki lässt sich auch OHNE MySQL-Datenbank betreiben - im Sourcecode müssen hierzu nur zwei Stellen auskommentiert werden, und zwar:

Die entsprechenden Stellen im Sourcecode findet man, wenn man nach der Zeichenkette #mysql sucht...

Aufbau der generellen MySQL-Datenbank (die für mehrere Wikis und Wikiseiten nur einmal auf einem DB-Rechner angelegt werden muss):

CREATE TABLE wikidb (
 wiki varchar(10) NOT NULL default '',
 seite varchar(128) NOT NULL default '',
 begriff varchar(128) NOT NULL default '',
 bereich varchar(128) NOT NULL default '',
 datum timestamp(14) NOT NULL,
 text text NOT NULL,
 PRIMARY KEY  (wiki,seite,begriff),
 KEY datum (datum),
 KEY bereich (bereich)
) TYPE=MyISAM COMMENT='Wiki-Datenbank';
Diese Datenbank ist nicht sonderlich performant und benutzt nur eine Tabelle plus Indizes die dadurch in geringem Maße redundante Daten (je Eintrag Wikikurzname und Seitenname als Texte!) enthält.

Die Datei functionsmysql.php enthält wiederum ein include, das aus Sicherheitsgründen außerhalb des Dokumentenpfades des Webservers plaziert werden sollte. ZUR NOT kann man diese Datei auch im Wikiverzeichnis belassen, aber die "reine Lehre" ist das nicht (wenn auch im Normalfall nichts passieren sollte, solange *.php-Dateien geparst werden...)

In diesem Include sind die Verbindungsdaten für einen connect zur angelegten Datenbank herzustellen:

$host = ""; Datenbank-Host
$db   = ""; Datenbankname
$user = ""; Benutzername
$pw   = ""; Paßwort
$max_mysql_data_space = ...; // in bytes (Max.Größe ALLER Wiki-Datenbanken)
Ausserdem ist die Wiki-Kennung (möglichst kurz) zu setzen. Dieser Parameter liegt in der functionsmysql.php.

$wiki = ""; Wiki-Kennung (dadurch können sich bei Bedarf mehrere Wikis mit den
            gleichen Seitennamen denselben Datenbereich teilen - oder auch nicht...)
Die einzige Tabelle dieser DB ist wikidb - dieser Name ist fix hinterlegt.

Bisher ist kein automatisches anlegen der DB geplant, aber dafür bietet PhpMyAdmin ja entsprechende Möglichkeiten, ebenso wie für das sichern der kompletten WikiDb. Teilsicherungen (je Wikiseite) sind möglich (siehe DatenBanken, "import", "export" und "delete").

zurück zur EntwicklerDoku