Fehlermeldung zum phpMyAdmin Konfigurationsspeicher

Fehlermeldung zum phpMyAdmin Konfigurationsspeicher

Ich benutze bei der Programmierung von Webseiten auf meinem Windows-PC die XAMPP-Umgebung von Apachefriends.org, um die Seiten lokal zu testen.

Heute habe ich die aktuelle Version heruntergeladen (5.6.8) und installiert. Leider warf phpMyAdmin einen Fehler aus „Der phpMyAdmin-Konfigurationsspeicher ist nicht vollständig konfiguriert, einige erweiterte Funktionen wurden deaktiviert. [..]“, der auf drei fehlende/fehlerhafte Tabellen in der Datenbank „phpmyadmin“ zurück geht.

phpMyAdmin Fehlermeldung 1
phpMyAdmin Fehlermeldung 1

Nach längerem Suchen kam ich in die „config.inc.php“ von phpMyAdmin. Dort werden unter anderem die Tabellennamen für die erweiterten Funktionen in einem Array gespeichert. Das sieht beispielsweise so aus:

$cfg[‚Servers‘][$i][‚table_info‘] = ‚pma_table_info‘;

Wichtig ist, dass dort nur ein Unterstrich nach „pma“ steht, während in der „config.sample.inc.php“ und der „example/create_table.php“ eine Schreibweise mit doppeltem Unterstrich zu finden ist. Welche nun die richtige™ ist, weiß ich nicht. In der offiziellen Dokumentation stehen die Tabellennamen mit „pma__“.

Bild von dssr.2002
Bild von dssr.2002

Im Prinzip ist das aber natürlich kein Problem, die Einträge müssen nur mit den Namen in der Datenbank übereinstimmen.

phpMyAdmin Fehlermeldung 2
phpMyAdmin Fehlermeldung 2

Zurück zu meinen Fehlern. Fehler 2 und 3 konnte ich relativ schnell identifizieren, es fehlten schlicht die Tabellen in der Datenbank und die passenden Einträge in der „config.inc.php“. Auf den richtigen Weg führte mich die Antwort von johanno auf eine Frage bei stackoverflow.com. Da die notwendigen SQL-Statements in der „create_table.php“ vorhanden sind, habe ich diese beiden heraus kopiert und in phpMyAdmin auf der Datenbank „phpmyadmin“ ausgefügt:

CREATE TABLE IF NOT EXISTS `pma__favorite` (
`username` varchar(64) NOT NULL,
`tables` text NOT NULL,
PRIMARY KEY (`username`)
)
COMMENT=’Favorite tables‘
DEFAULT CHARACTER SET utf8 COLLATE utf8_bin;

und

CREATE TABLE IF NOT EXISTS `pma__central_columns` (
`db_name` varchar(64) NOT NULL,
`col_name` varchar(64) NOT NULL,
`col_type` varchar(64) NOT NULL,
`col_length` text,
`col_collation` varchar(64) NOT NULL,
`col_isNull` boolean NOT NULL,
`col_extra` varchar(255) default “,
`col_default` text,
PRIMARY KEY (`db_name`,`col_name`)
)
COMMENT=’Central list of columns‘
DEFAULT CHARACTER SET utf8 COLLATE utf8_bin;

Dazu habe ich aus der „config.sample.inc.php“ die Zeilen

$cfg[‚Servers‘][$i][‚favorite‘] = ‚pma__favorite‘;
$cfg[‚Servers‘][$i][‚central_columns‘] = ‚pma__central_columns‘;

in die „config.inc.php“ kopiert.

Fehler Nr. 1 bereitete mir etwas mehr Kopfzerbrechen. Die Tabelle „pma_column_info“ ist vorhanden, trotzdem gibt es dazu eine Fehlermeldung. Der Doku-Eintrag war für mich auch nicht wirklich hilfreich. Fast schon aus Verzweiflung habe ich auch diese Tabelle mit dem Code aus der „create_table.php“ neu erzeugt:

CREATE TABLE IF NOT EXISTS `pma__column_info` (
`id` int(5) unsigned NOT NULL auto_increment,
`db_name` varchar(64) NOT NULL default “,
`table_name` varchar(64) NOT NULL default “,
`column_name` varchar(64) NOT NULL default “,
`comment` varchar(255) COLLATE utf8_general_ci NOT NULL default “,
`mimetype` varchar(255) COLLATE utf8_general_ci NOT NULL default “,
`transformation` varchar(255) NOT NULL default “,
`transformation_options` varchar(255) NOT NULL default “,
`input_transformation` varchar(255) NOT NULL default “,
`input_transformation_options` varchar(255) NOT NULL default “,
PRIMARY KEY (`id`),
UNIQUE KEY `db_name` (`db_name`,`table_name`,`column_name`)
)
COMMENT=’Column information for phpMyAdmin‘
DEFAULT CHARACTER SET utf8 COLLATE utf8_bin;

und in der „config.inc.php“ einen zweiten Unterstrich hinzugefügt:

$cfg[‚Servers‘][$i][‚column_info‘] = ‚pma__column_info‘;

Das funktionierte. Damit waren alle Fehlermeldungen weg, und bei der Benutzung habe ich auch keine Probleme feststellen können.

Beitragsbild von Solvetic