Während einer Magento Installation besteht die Möglichkeit der Datenbank, besser gesagt deren Tabellen, ein sogenanntes Präfix voran zustellen.
Falls nun eine Magento Installation erfolgt ist und es vergessen wurde ein Präfix zu setzen oder das Präfix zu einem späteren Zeitpunkt geändert werden soll, so zeigt der folgende Artikel, wie dies nachträglich möglich ist.
Solch ein Tabellen Präfix hilft zum einen bei einer begrenzten Anzahl Datenbanken in einem Webhostingpaket, in ein und derselben Datenbank mehrere Magento, Joomla oder WordPress-Installationen unter zu bringen. Es kann aber auch dazu benutzt werden um ein zusätzliches Maß an Sicherheit für eine Installation zu implementieren, da Angreifer bei einem Angriff zwar den Standard-Tabellen-Name kennt, es aber schwer hat, eine Tabelle mit einem ihm unbekannten Präfix zu erraten und so Schadcode einzufügen.
Falls das Tabellen Präfix nach einer Installation geändert werden soll, unbedingt ein Datenbank-Backup vorher durchführen. Dazu habe ich bereits einen Artikel verfasst. Es kann immer etwas schief gehen.
Eingabe währen der Installation
Am einfachsten geht das Eintragen eines Tabellen-Präfix während der Installation. Im Installations-Schritt „Konfiguration“ im Feld „Tabellen Präfix“ den gewünschten Präfix eintragen. Für ein besseres Lesen sollten eine beliebige Anzahl Buchstaben und Ziffern abgeschlossen von einem Unterstrich verwendet werden. Zum Beispiel: „vg99gg_„.
Das war es dann auch schon und weitere Schritte sind nicht notwendig.
Nachträgliches einfügen oder tauschen mittels phpMyAdmin
Falls die Eingabe eines Tabelle-Präfix während der Magento Installation vergessen wurde, ist das auch nicht weiter schlimm. Zum nachträglichen Einfügen wird lediglich phpMyAdmin benötigt, welches der Administration von MySQL-Datenbanken dient. Mit dessen Hilfe es einfach möglich ist das Präfix nachträglich zu ändern.
Falls phpMyAdmin in der Administration des Webhosting nicht zur Verfügung steht, kann es wie in diesem Artikel beschrieben, auf jedem beliebigen Webspace installiert werden. Falls sich die Installation in einem öffentlich zugänglichen Bereich des Hosting befindet, unbedingt den Zugriff durch eine .htacces Datei schützen. Ein nützliches Tool zum Erstellen einer .haccess Datei findet Ihr hier.
Folgende Schritte durchführen:
- Als erstes die Datenbank auswählen, deren Prefix geändert werden soll.
- Runter scrollen und alle Tabellen auswählen.
- Im Drop-Down Menü „Replace table prefix“ auswählen.
Im neuen Fenster, die folgenden Einträge machen:
- [optional] Falls ein Prefix bereits besteht, hier das alte eingeben[/optional]
- Das neue Tabellen Prefix eingeben, zum Beispiel: syJ76H_
Es sollten nur Buchstaben (keine Umlaute oder Sonderzeichen) und Ziffern (0..9) verwendet werden. Abschließend ein Unterstrich um das Prefix vom eigentlichen Tabellen-Namen zu trennen. - Abschließend mit Submit abschicken.
Abschließend muss noch die folgende Datei angepasst werden: app/etc/local.xml. Hier das zuvor vergeben Prefix eintragen. Ändern von:
<table_prefix><![CDATA[]]></table_prefix>
nach:
<table_prefix><![CDATA[syJ76H_]]></table_prefix>
Das war es schon, eventuell muss noch der Cache gelöscht werden, normalerweise aber nicht. Ursprünglich wollte ich noch eine PHP Script Version zum tauschen des Präfixes vorstellen, aber die Lösung mit phpMyAdmin ist die mit Abstand am einfachsten, auch technisch weniger versierten Leuten, durchzuführen und phpMyAdmin steht fast bei allen Webhostings zur Verfügung und muss so nicht einmal installiert werden.
Frohes Prefix tauschen wünscht,
Chefkoch
Als Chefkoch arbeite ich als Systemadministrator und Programmierer. Hier blogge ich über Joomla, Magento, WordPress und Windows. In meiner Freizeit fotografiere ich viel, fahre mit meiner Yamaha XT660R oder Jogge durch die Gegend.