Relations / Linked Tables in PHPMyAdmin

13. August 2013 um 19:23 Uhr von Wolfgang Stengel zu PHP, MySQL
Beim Upgrade von einer uralten Version von PHPMyAdmin auf die aktuell neueste 3.2.1 wollte ich heute gleich mal die neuen Relation-Features ausprobieren. Nach etwa zwei Stunden herumprobieren hat's dann auch geklappt. Vielleicht helfen dem Einen oder Anderen folgende Hinweise dabei den Prozess etwas zu beschleunigen:
  • In der Konfiguration für den MySQL-Server muss die Variable $cfg['Servers'][$i]['pmadb'] in der Datei /config.inc.php definiert sein, sie gibt den Namen der Datenbank an in der die Zusatzinformationen für die Linked-Table-Features festgehalten werden. Die Tabellen in dieser Datenbank können mit dem Script /scripts/create_tables.sql erzeugt werden.
  • Es muss für den Server ein Control-User angegeben werden, der Zugriff auf die in $cfg['Servers'][$i]['pmadb'] definierte Datenbank hat:

    $cfg['Servers'][$i]['controluser']='...';
    $cfg['Servers'][$i]['controlpass']='...';
  • Es müssen ALLE Tabellen für die neuen Funktionen in der Serverkonfiguration angegeben werden:

    $cfg['Servers'][$i]['relation']='pma_relation';
    $cfg['Servers'][$i]['table_info']='pma_table_info';
    $cfg['Servers'][$i]['table_coords']='pma_table_coords';
    $cfg['Servers'][$i]['pdf_pages']='pma_pdf_pages';
    $cfg['Servers'][$i]['column_info']='pma_column_info';
    $cfg['Servers'][$i]['history']='pma_history';
    $cfg['Servers'][$i]['designer_coords']='pma_designer_coords';
    $cfg['Servers'][$i]['bookmarktable']='pma_bookmark';
    Auch wenn z.B. der PDF-Export nicht verwendet werden soll muss die Variable gefüllt sein, ansonsten schaltet PHPMyAdmin die Relation-Funktionen komplett ab (Fehlermeldung "Die zusätzlichen Funktionen für verknüpfte Tabellen wurden automatisch deaktiviert. Klicken Sie hier um herauszufinden warum." / "The additional features for working with linked tables have been deactivated. To find out why click here.").
  • Und nun das Merkwürdigste: Die Diagnoseanzeige der einzelnen Konfigurationsvariablen innerhalb von PHPMyAdmin wird NICHT aktualisiert bei einem Reload der Webseite. Die Diagnose wird in der Session festgehalten. Wenn man also die Konfiguration verändert hat und testen will ob es nun endlich funktioniert muss der Browser geschlossen und PHPMyAdmin komplett neu aufgerufen werden.
Hat man das alles geschafft sind der Designer und die relationalen Anzeigen echt praktisch.
PHP Wolfgang Stengel