ix: pma-Tabellen im phpMyAdmin

Hallo,

ich benutze phpMyAdmin (Version 2.11.6) für mehrere Webprojekte gleichzeitig. Jede Projekt benutzt eine Datenbank, in der die notwendigen Tabellen abgelegt sind.

Um Beziehungen zwischen einzelnen Tabellen für den Benutzer einfacher darstellen / bearbeiten zu können, können spezielle Tabellen in der Konfigurationsdatei config.inc.php definiert werden und die Datenbank, in der diese Tabellen abgelegt sind:

$cfg['Servers'][$i]['pmadb']           = ''; // 'phpmyadmin'
$cfg['Servers'][$i]['bookmarktable']   = ''; // 'PMA_bookmark'
$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'

Legt man die Tabellen in eine separate Datenbank ab, muss diese komplette Datenbank bei jedem Projekt separat hochgeladen und eingepflegt werden, obwohl diese separate Datenbank ja für ALLE PROJEKTE GLEICHZEITIG zuständig ist.

Kennt hier jemand eine Möglichkeit, wie man in jeder Datenbank eigene "PMA_"-Tabellen anlegen kann, die dann nur die relevanten Daten für das entsprechende Projekt enthalten?

Weder im phpmyadmin-Wiki noch -Forum noch Google noch in diesem Forum habe ich was passendes gefunden.

Vielen Dank.

  1. Hi,

    $cfg['Servers'][$i]['pmadb']           = ''; // 'phpmyadmin'
    $cfg['Servers'][$i]['bookmarktable']   = ''; // 'PMA_bookmark'
    [...]

    Legt man die Tabellen in eine separate Datenbank ab, muss diese komplette Datenbank bei jedem Projekt separat hochgeladen und eingepflegt werden, obwohl diese separate Datenbank ja für ALLE PROJEKTE GLEICHZEITIG zuständig ist.

    Kennt hier jemand eine Möglichkeit, wie man in jeder Datenbank eigene "PMA_"-Tabellen anlegen kann, die dann nur die relevanten Daten für das entsprechende Projekt enthalten?

    http://www.phpmyadmin.net/documentation/#config:

    $cfg['Servers'][$i]['pmadb'] string
        The name of the database containing the linked-tables infrastructure.

    • damit kann man aber wohl nur den DB-Namen generell aendern.

    Und weiter:

    If you are the only user of this phpMyAdmin installation, you can use your current database to store those special tables; in this case, just put your current database name in $cfg['Servers'][$i]['pmadb']. For a multi-user installation, set this parameter to the name of your central database containing the linked-tables infrastructure.

    Aber da ist auch nur von Datenbanken die Rede, nicht von einzelnen (separaten) Tabellen.

    Wenn man da was aendern wollte, muesste man wahrscheinlich die PMA-Scripte an allen Stellen, wo darauf zugegriffen wird, veraendern.
    Da waeren separate PMA-Installationen vermutlich sinnvoller und wesentlich einfacher zu handeln.

    MfG ChrisB

    --
    "The Internet: Technological marvel of marvels - but if you don't know *what* you're lookin' for on the Internet, it is nothing but a time-sucking vortex from hell."
    1. MfG ChrisB

      Danke, ChrisB. An der Stelle bin ich ja auch schon hängen geblieben.
      Gibt wohl bloß die "extra Datenbank"-Lösung.
      Schönes Wochenende.

  2. echo $begrüßung;

    ich benutze phpMyAdmin (Version 2.11.6) für mehrere Webprojekte gleichzeitig. Jede Projekt benutzt eine Datenbank, in der die notwendigen Tabellen abgelegt sind.
    Kennt hier jemand eine Möglichkeit, wie man in jeder Datenbank eigene "PMA_"-Tabellen anlegen kann, die dann nur die relevanten Daten für das entsprechende Projekt enthalten?

    Der PMA ist ein DBMS-Verwaltungstool für ein (oder mehrere) MySQL-Server. Die PMA-Datenbank bezieht sich auf jeweils einen Server. Der PMA ist nicht auf Separierung nach "Projekten" ausgelegt, weil der MySQL-Server keine solche Unterscheidung kennt. Die einzige Unterscheidung ist die zwischen verschiedenen Servern. In der Konfiguration ist das am $i zu erkennen. Wenn man mehrere Server gleichzeitig mit dem PMA pflegen möchte, kann man die nacheinander konfigurieren, wobei das $i hochzuzählen ist. Wie du siehst,

    $cfg['Servers'][$i]['pmadb']           = ''; // 'phpmyadmin'

    ist für jeden Server einzeln eine PMA-DB konfigurierbar. Es ist bei Angabe mehrerer Server sicher nicht zwingend erforderlich, das es unterschiedliche sein müssen ...

    Interessant in dem Zusammenhang werden die Konfigurationswerte für controluser (und -pass), only_db (als String oder als Array), verbose (5 × "localhost" ist nicht sehr diskriminierbar) und pmadb (und die die damit zusammenhängenden Tabellennamen) sein.

    echo "$verabschiedung $name";