phpMyAdmin

Standard-Werkzeug zur Verwaltung von MySQL-Servern

Das OpenSource-Programm phpMyAdmin hat sich als Standard-Werkzeug zur Administration von MySQL-Servern auf allen gängigen Betriebssystemen durchgesetzt. phpMyAdmin Sie können dieses ausgezeichnete Programm für eigene Datenbank-Server einsetzen, gute Provider bieten es fertig installiert zur Datenbank-Verwaltung an.
Server Dienste im Hintergrund
Wozu wird phpMyAdmin verwendet ?
Voraussetzung für die Anwendung von phpMyAdmin
Vorbereitung der Installation von phpMyAdmin
Installation von phpMyAdmin
Konfiguration erfolgt in sauberem Linux-Stil mit einer Text-Datei
Webserver-Alias für phpMyadmin
Details für erfahrene MySQL-AdministratorInnen
Individuelle Anmeldung mit Name und Passwort
Verwaltung mehrerer (entfernter) Server
PHP-Module Verbindung PHP-MySQL mit den Modulen mysql und mysqli
MySQL-Zugangskonten Konten und Zugangsrechte
Probleme ? Analyse und Behebung von Problemen
Apache Webserver-Konfiguration zur Entlastung des SiteManagers

Was ist phpMyAdmin und wozu verwendet man es ?

PHP Hypertext Processor phpMyAdmin ist ein 'Scriptprogramm' in der Programmier-Sprache PHP.
Es ist auf allen gängigen Betriebssystemen ohne Änderung sofort einsetzbar.

MySQL Datenbank Server Es wird zur Verwaltung von MySQL-Datenbank-Servern (Linux, Windows) eingesetzt. Sowohl Struktur (Datenbanken, Tabellen, Felder) als auch Daten (Inhalte) können damit kontrolliert, erzeugt oder geändert werden.

Das Programm phpMyAdmin ist von ausgezeichneter Qualität und wird daher weltweit zusammen mit fast jedem MySQL-Server eingesetzt.
phpMyAdmin ist OpenSource - kostenlos erhältlich und lizenzfrei einsetzbar.

Die Installation von phpMyAdmin erscheint für AnfängerInnen recht komplex. Lassen sie sich davon nicht abschrecken und versuchen sie die Installation genau nach der mitgelieferten Doku. - Sie lohnt sich immer !

phpMyAdmin erscheint laufend in neuen verbesserten Versionen. Ein Update lässt sich auch ohne Programmier-Kenntnisse in kurzer Zeit ausführen.

Voraussetzungen für phpMyAdmin

Apache Webserver

Webserver

phpMyAdmin verwendet Webseiten zur Verwaltung eines Datenbank (DB)-Servers. Diese Webseiten sind nicht gleichbleibend (statisch), sondern werden vom Webserver nach Bedarf (dynamisch) hergestellt.
Der Standard-Webserver Apache ist dafür auf allen gängigen Betriebssystemen bestens geeignet. phpMyAdmin funktioniert aber auch mit jedem anderen Webserver, der die Programmiersprache PHP 'versteht'.
In jedem lokalen Netzwerk (LAN) ist selbstverständlich ein Webserver installiert.
Aber auch heutige Arbeits-(Desktop)-PC verfügen über genügend Resourcen, um einen Webserver ohne Verlust an Leistung zu betreiben. Die Installation ist für AnfängerInnen eher kompliziert, aber für Fortgeschrittene kein Problem.

Alle gängigen Linux-Systeme enthalten den Apache Webserver.
Details zur Installation von Apache auf Linux (LAMP) und Windows (WAMP).
PHP Hypertext Processor

PHP

ist eine moderne Standard-Programmiersprache. PHP ist OpenSource, kann daher kostenlos und lizenzfrei eingesetzt werden. Im Internet gibt es zahlreiche gute Beschreibungen, Tutorials, Foren und tausende kostenlose Beispiele.
PHP ist für alle gängigen Betriebssysteme verfügbar, z.B. für Linux und Windows.
PHP ist eine Script-Sprache, d.h. die Programme sind in Klartext verfasst und daher mit jedem Text-Editor zu lesen und zu bearbeiten.
Die häufigste Anwendung von PHP ist die Erstellung dynamischer Webseiten: Das sind Webseiten, die 'auf Anfrage' genau nach Bedarf hergestellt werden - Zum Beispiel zusammen mit Datenbanken.

Details zur Programmierung mit PHP finden sie auf den Webseiten für PHP-EntwicklerInnen
Tipp: Konfigurieren sie PHP möglichst genauso wie ihr Web-Provider.

Alle gängigen Linux-Systeme enthalten PHP.
Details zur Installation von PHP auf Windows (WAMP).

PHP-Module:

Für den Zugriff auf MySQL-Server wird eines der PHP-Module mysql (alt) oder mysqli (neu) benötigt - Verwenden sie für neue MySQL-Server >=4.1 das PHP-Modul mysqli.
Weitere Module sind für Zusatz-Funktionen empfehlenswert:
Modul mcrypt für die Anmeldungs-Arten cookie und HTTP (MultiUser).
Module mbstring und iconv zur Nutzung und Übersetzung mehrerer Zeichensätze (z.B. Unicode-Zeichen).
Modul zip zur Nutzung von Archiven.
Modul gd2 für Grafik-Funktionen

Details zur Konfiguration von PHP und zum Einbau zusätzlicher PHP-Module.

Nach jeder Änderung der PHP-Konfiguration (z.B. Hinzufügen eines Moduls) muss der Webserver neu gestartet werden !
MySQL Datenbank Server

MySQL

ist der weltweit am häufigsten eingesetzte SQL-Datenbank-Server für kleinere und mittlere Systeme (d.h. ohne Groß-Computer).
Die Community Edition (Normalversion) ist kostenlos erhältlich.
phpMyAdmin kann für alle Verwaltungs-Arbeiten an beliebig vielen (!) MySQL-Servern eingesetzt werden. Anzeige, Änderung, Neu-Anlage, Eingabe, Ausgabe von Datenbanken, Tabellen, Feldern, ...
Wenn sie über wenig Erfahrung mit MySQL verfügen, dann führen sie die Konfiguration sofort bei Installation aus und erlauben den Zugang von allen PC ihres Netzwerks (auch wenn kein Netzwerk angeschlossen ist). Notieren sie das vergebene root-Passwort !
Alle gängigen Linux-Systeme enthalten den MySQL Datenbank-Server.
Details zur Installation von MySQL auf Linux (LAMP) und Windows (WAMP).

Web-Browser

ist heute auf jedem PC in jedem Betriebssystem verfügbar, leistungsfähig, kostenlos oder preiswert, mit regelmäßigen Updates - ein ideales User-Interface für Programme aller Art - auch für die Verwaltung von DB-Servern.
An jedem verwendeten Browser müssen Cookies erlaubt sein. Das ist kein Sicherheits-Risiko, sondern schützt vor unbefugten AnwenderInnen.
PHP-Programme wie phpMyAdmin werden nicht auf dem (eigenen) Client-PC sondern am Webserver ausgeführt. (Davon merkt man als AnwenderIn am eigenen PC nichts.)
Zum Client-PC gelangen daher keine Programme, sondern nur die fertigen, damit erstellten Webseiten.
Mit PHP erstellte dynamische Webseiten sind mit jedem gängigen Browser ohne Zusätze oder Plugins lesbar, unabhängig von Betriebssystem, Hersteller und Version.
Netscape Microsoft Mozilla Konqueror Firefox Opera Safari

Netzwerk

wird benötigt, wenn sich der MySQL-Server nicht am gleichen PC befindet wie der Webserver. Um entfernte DB-Server zu erreichen, muss lediglich das Netzwerk dorthin funktionieren. In diesem Fall ist jeder Ort der Erde gleich gut erreichbar wie das nächste Zimmer im Büro.

phpMyAdmin wird am Webserver installiert und über Webseiten bedient.
Proxy-Server (Zugang vom lokalen Netzwerk ins Internet) und/oder Firewall-Software können die Kommunikation mit dem Webserver verhindern: Geben sie MySQL-Verbindungen (Port 3306) frei !
phpMyAdmin

phpMyAdmin

ist natürlich auch eine notwendige Voraussetzung. Sie erhalten das Programm direkt von der 'Homepage', aber auch von vielen Freeware- und Shareware-Anbietern im Internet.
Oft sind mehrere Versionen verfügbar. Verwenden sie die neueste fertig getestete Version (production), keine experimentelle (alpha, beta) Version.
phpMyAdmin ist wie jedes andere PHP-Programm unabhängig vom Betriebssystem. Suchen sie daher keine spezielle Linux- oder Windows-Version.

Lesen sie vor der Installation die Hinweise im Web von phpMyAdmin und auf den Text-Dateien in den Download-Archiven.
Klingt langweilig, ist es meist auch, spart jedoch Zeit und Nerven !
Insgesamt eine beachtliche Liste von Voraussetzungen - ein kompletter Standard-Server auf Linux (LAMP) oder Windows (WAMP).
Allerdings wird kaum jemand ein *AMP-System installieren, um phpMyAdmin zu betreiben:
In der Praxis verhält es sich genau umgekehrt:
Wenn sie einen *AMP-Standard-Server betreiben, dann haben sie schon alle Voraussetzungen erfüllt, und phpMyAdmin stellt eine kleine, aber sehr wertvolle Ergänzung ihres Systems dar.

Vorbereitung der Installation von phpMyAdmin

Neu-Installation:

Ihr MySQL-Server muss einen User root erkennen, das Passwort darf nicht leer sein.
Verwenden sie das Konsolen-Programm mysql, um das festzustellen bzw. zu ändern. Falls dieses Programm noch nicht arbeitsfähig installiert und konfiguriert wurde, dann sollten sie das vor jeder weiteren Arbeit mit ihrem MySQL-Server erledigen.

Details zur Verwaltung eines MySQL-Servers mit dem Konsolen-Programm finden sie in der Doku zu MySQL (mitgeliefert oder im MySQL-Web) sowie auf den Seiten MySQL-Linux und MySQL-Windows dieses Webs.
In der Praxis hat es sich bewährt, die Datenbank mysql so zu konfigurieren:
Für experimentelle Zwecke wird der Zugang für den SuperUser root mit allen Rechten von jedem PC (eigener PC, Netzwerk, Internet) freigegeben (rot). Dieses Sicherheits-Risiko sollte man jedoch beseitigen, sobald phpMyAdmin korrekt funktioniert.
Um den Zugang nur vom eigenen PC freizugeben, wird der SuperUser root mit allen Rechten mehrfach angelegt (blau). Der Grund dafür ist, dass sich der Webserver (host) je nach Konfiguration und Version unterschiedlich meldet. Möglich ist localhost, der Server-Name oder seine IP-Adresse (tragen sie die tatsächliche IP-Adresse ihres Webservers ein).
In der Praxis wird meist der Zugang für root für alle PC aus dem lokalen Netzwerk freigegeben (grün). Tragen sie die tatsächliche Basis-Adresse ihres Netzwerks ein. Das Zeichen % steht für alle Zahlen 0..255
HostUserPassword
%root*
localhostroot*
MeinWebServerroot*
192.168.0.1root*
192.168.0.%root*
Zusätzlich wird eine Datenbank phpmyadmin und ein Verwaltungs-user pma eingerichtet. Dazu verwendet man am besten das mitgelieferte SQL-Script /scripts/create_tables.sql

Dieses Script wird bei Neu-Installation mit dem Konsolen-Programm mysql ausgeführt:
mysql -uroot -pgeheim
mysql> source sqlpath.sql
mysql> quit
(Ersetzen sie 'geheim' durch ihr root-Passwort, und 'sqlpath' durch den Pfad zum SQL-Script.)

Bei einem Update führen sie das Script am besten noch mit der alten Version von phpMyAdmin aus.

Für den Verwaltungs-user pma gelten die gleichen Tipps wie für root (links), d.h. auch dieser User wird evtl. zusätzlich mit einem anderen Host angelegt (benötigt aber nur Lese-Rechte (Select-priv).

Nach jeder Änderung der MySQL-Zugriffsrechte müssen sie den SQL-Befehl
flush privileges;
erteilen, damit die Änderung wirksam wird !
(oder Neustart des MySQL-Servers)

Update:

Wenn sie phpMyAdmin bereits verwenden, dann ist ihr MySQL-Server dafür bereits weitgehend oder komplett eingerichtet.
Lesen sie die Versions-Hinweise im phpMyAdmin-Web und in der mitgelieferten Doku !

Rückzug:

Es ist praktisch, sich einen Rückweg zur alten Version offen zu halten: Dazu wird das gesamte Verzeichnis der alten Version umbenannt, z.B. von phpmyadmin auf phpmyadmin_alt
Danach wird das Verzeichnis der neuen Version eingesetzt, am besten mit dem einheitlichen Namen phpmyadmin (ohne Versions-Nummern).
Alternativ können sie beide Versionen einige Zeit parallel verwenden, dazu müssen sie jedoch getrennte Links zu den Start-Dateien index.php in beiden Verzeichnissen anlegen.

Quick & Dirty:

Kleinere Updates lassen sich erfahrungsgemäß ausführen, indem lediglich die Konfigurations-Datei config.inc.php aus dem Verzeichnis der alten Version in jenes der neuen Version kopiert wird.
Wenn das nicht funktioniert, dann sollten sie
+ Die Update-Hinweise genau durchlesen
+ Für Datenbank-(DB)-Änderungen wieder die alte Version aktivieren
+ Die unbrauchbare Datei config.inc.php löschen und die Konfiguration neu durchführen.

Sauberes Update:

Größere Versions-Änderungen erfordern manchmal Änderungen in einer oder mehreren MySQL-Datenbanken, jedenfalls aber das Anlegen einer neuen Konfiguration. Führen sie die DB-Änderungen noch mit der alten Version aus !

Installation von phpMyAdmin

Update:

Wenn sie phpMyAdmin bereits verwenden, dann sollten sie vor einem Update unbedingt eine Sicherungskopie anlegen.

Kopieren sie am besten das gesamte Verzeichnis von phpMyAdmin. Löschen sie die Kopie, wenn die neue Version problemlos funktioniert.

Quellen:

Alle gängigen Linux-Systemen enthalten phpMyAdmin bereits fertig installiert, oder bieten die Installation auf Knopfdruck. Auch manche Windows-Installer von Apache Webserver enthalten bereits phpMyAdmin.
phpMyAdmin Kostenloser Download am besten von der Homepage, aber auch von zahlreichen Freeware- und Shareware-Sites im Internet.
PHP-Programme funktionieren unabhängig vom Betriebssystem, sie finden daher keine spezielle Linux- oder Win-Version.

Laden sie die jeweils aktuelle "empfohlene" Arbeits-Version, keine experimentelle Entwickler-Version.
Die Archive enthalten phpMyAdmin im Quelltext - sie können das Programm studieren und Ideen selbst verwenden. PHP-Profis können es auch verändern und an eigenen Bedarf anpassen.

Installation:

Packen sie das Programm-Archiv aus: Das Verzeichnis enthält zahlreiche PHP-Script-Programme *.php, einige Verzeichnisse, sowie die wichtigen Dateien README und Documentation.*.

Name:
Ändern sie den Namen des Verzeichnisses auf phpmyadmin (nur kleine Buchstaben, keine Versions-Zahlen).
Das bewährt sich bei der Installation neuer Versionen von phpMyAdmin: Wenn sie das Verzeichnis jedesmal gleich benennen, dann funktionieren die Links zu phpMyAdmin ohne jede Änderung.
Erstellen sie innerhalb des Verzeichnisses eine Text-Datei, z.B. _meine_notizen.txt in welche sie die Versions-Nummer und ihre eigenen Hinweise (Erfahrungen für das nächste Update !) schreiben.
Verschieben sie das Verzeichnis phpmyadmin komplett in das Datenverzeichnis des (Apache) Webservers.
Dieses Verzeichnis legen sie durch Konfiguration selbst fest.
Auf Linux ist das z.B.
/srv/www/htdocs
Auf Windows ist das z.B.
C:/Programme/Apache Software Foundation/Apache2.2/htdocs

Setzen sie die Zugangsrechte für das Verzeichnis:
Der Webserver muss alle Dateien im Verzeichnis lesen (read) und ausführen (execute) können. 'Gewöhnliche' AnwenderInnen sollten keinerlei (!) Zugriff haben.
Wenn sie auf Windows den Webserver IIS verwenden, müssen sie dem user IUSR_machine alle Rechte erteilen.

Links:

Legen sie einen HTML-Link zur Startseite index.php von phpMyAdmin. Ein Link auf ihrer Homepage index.htm könnte z.B. so aussehen:
<a href="phpmyadmin/index.php">
  phpMyAdmin
</a>
Ab Version 2.8 erfolgt die Konfiguration mit einem eigenen (Webseiten)-Programm. Um dorthin zu gelangen, legen sie einenn weiteren Link zur Datei phpmyadmin/scripts/setup.php, z.B.
<a href="phpmyadmin/scripts/setup.php">
  phpMyAdmin Konfiguration
</a>
Ein weiterer Link zur mitgelieferten ausführlichen Dokumentation Documentation.html ist empfehlenswert (befindet sich meist bereits auf der Startseite von phpMyAdmin).

Der erste Start älterer Versionen von phpMyAdmin erfolgt ohne Zugangskontrolle. Das war als Vorversion gedacht, die sofort abzusichern ist. Da leider viele AnwenderInnen trotz ausdrücklicher Warnungen darauf verzichteten, eröffneten sie mit phpMyAdmin ein Sicherheits-Risiko. Deshalb werden neuere Versionen>2.8 mit einem eigenen Programm konfiguriert.

Konfiguration:

phpMyAdmin muss für die Verwendung an einem bestimmten MySQL-Server konfiguriert werden.

Details dazu entnehmen sie dem nächsten Absatz.

Erst-Konfiguration von phpMyAdmin

Die Konfiguration von phpMyAdmin Versionen >=2.8 erfolgt nach Installation durch das mitgelieferte PHP-Programm phpmyadmin/scripts/setup.php
Dieses Programm zeigt eine dynamische Webseite, auf welcher sich alle Elemente zur Konfiguration von phpMyAdmin befinden. Das Programm erzeugt eine Text-Datei zur Steuerung der Konfiguration. Fortgeschrittene AnwenderInnen können diese Text-Datei auch selbst mit einem Text-Editor erzeugen.

Vorbereitung

Vor dem Start der Konfiguration sollten sie folgende Punkte erledigen:

Das Konfigurations-Programm wird auf dem Webserver ausgeführt, daher müssen sie zunächst einen Link dorthin anlegen, z.B. auf ihrer Homepage index.html oder auf einer Werkzeug-Webseite:
<a href="phpmyadmin/scripts/setup.php">
  phpMyAdmin Konfiguration
</a>
Legen sie ein zusätzliches Verzeichnis an:
phpmyadmin/config
Erteilen sie alle Rechte für alle User. In diesem Verzeichnis wird die vom Programm erstellte Konfigurations-Datei gespeichert.

Legen sie ein zusätzliches Verzeichnis an:
phpmyadmin/sql
In diesem Verzeichnis werden die vom Programm erstellten und verwendeten SQL-Scripts gespeichert.

Sie benötigen die Internet-Adresse des gewünschten MySQL-Servers. Wenn sich der Server auf ihrem eigenen PC befindet, lautet die Adresse localhost oder 127.0.0.1
Weiters benötigen sie Name (root) und Passwort eines Administrators mit allen Zugangsrechten für ihren MySQL-Server. Das wird normalerweise bei Installation des MySQL-Servers festgelegt.

Achten sie auf besondere Hinweise zu ihrer Version von phpMyAdmin. Solche Angaben finden sie auf der Homepage ebenso wie in Text-Dateien im Installations-Verzeichnis.
Konfiguration von phpMyAdmin:
Start:
Klicken sie den (s.o.) angelegten Link zum Programm setup.php
Das Programm wird nur dann korrekt gestartet, wenn alle genannten Voraussetzungen erfüllt sind. Insbesondere kann das Programm nicht durch direktes Öffnen der Datei (Doppelklick) erfolgen, sondern nur durch einen Webserver mit PHP-Unterstützung.
Das setup-Programm öffnet eine Webseite ('Welcome') mit Links zur Dokumentation, allfälligen Warnungen und mit dem Bedienungs-Formular.

MySQL-Server anlegen:

Klicken sie Servers | Add und tragen sie die Zugangsdaten zum MySQL-Server ein:
Die Internet-Adresse (server hostname) des eigenen PC lautet immer localhost, für alle anderen PC im lokalen Netzwerk (LAN) oder für entfernte MySQL-Server müssen sie die korrekte Adresse eintragen.
Der Port (server port) für MySQL ist in der Standard-Konfiguration immer 3306 und kann in diesem Fall auch leer gelassen werden.
Server Socket wird bei Standard-Installation ebenfalls freigelassen.
Die Verbindung (connection type) erfolgt normalerweise über TCP (tcp).
Als PHP-Modul (extension) verwenden sie für neuere MySQL-Server>=4.1 mysqli, für ältere Server mysql. Das eingetragene PHP-Modul muss bereits geladen sein (PHP-Module, Test).
Eine Kompression (compression) der Verbindungs-Daten ist normalerweise nicht notwendig.
Die Anmeldung (authentication) erfolgt anfangs über die Konfigurations-Datei (config).
Die Zugangsdaten (user, password) müssen so eingetragen werden, wie für den MySQL-Administrator konfiguriert.
Einschränkungen der Datenbank (only database) und Server-Name (verbose name) lassen sie anfangs frei.
Als phpMyAdmin-Administrator (control user, password) tragen sie anfangs die gleichen Zugangsdaten wie für den MySQL-Administrator (s.o.) ein.
Die Datenbank für zusätzliche Werkzeuge (advanced features) erhält den Namen phpmyadmin.
Klicken sie zuletzt Add, um die Daten zu bestätigen. Achtung - Zu diesem Zeitpunkt wird noch keine Konfigurations-Datei erzeugt !
Sie erhalten eine Bestätigung (new server added) und führen das Setup weiter.
Im Abschnitt 'Servers' können sie die Daten ändern (edit), löschen (delete), anzeigen (list) oder weitere MySQL-Server eintragen.

Sichern

Nach Abschluss der Server-Konfiguration können sie weitere Daten konfigurieren - Konsultieren sie dazu die mitgelieferte Dokumentation. Die eingetragenen Daten reichen jedoch bereits für einen probeweisen Start:
Klicken sie Configuration | Save, um die Konfigurationsdatei zu speichern.
Sie erhalten die Bestätigung (file saved) und können das Setup-Programm verlassen.
Zur Kontrolle öffnen sie die Konfigurations-Datei config/config.inc.php mit einem beliebigen Text-Editor. Achtung - Änderungen dieser Datei erfordern fortgeschrittene Kenntnisse !

Kopieren

Kopieren sie die Datei aus dem config-Verzeichnis in das Stamm-Verzeichnis von phpMyAdmin (dort, wo sich auch die Dateien index.php, main.php usw. befinden).

Start

Nun können sie das Programm phpMyAdmin probeweise starten: Klicken sie den dazu vorbereiteten Link auf index.php
Die Homepage des Programms wird geöffnet:
Im linken Rahmen können sie aus den verfügbaren Datenbanken wählen, rechts werden einige Umgebungs-Daten des MySQL-Servers sowie von phpMyAdmin angezeigt.

Damit ist das Programm vorerst arbeitsfähig. Allerdings sollten einige weitere Details der Konfiguration ergänzt werden. Mit Hilfe des Programms phpMyAdmin sind die weiteren Schritte sehr bequem auszuführen.

Webserver-Alias für phpMyAdmin

Mehrere Argumente sprechen dafür, phpMyadmin nicht im Standard Arbeits-Verzeichnis DocumentRoot des Webservers unterzubringen. Alle größeren Server-Programm-Pakete werden in je einem eigenen Verzeichnis (Ordner) außerhalb von DocumentRoot installiert, auf Linux z.B. hier
/srv/www/pma
Der Vorteil liegt in einer sauberen Trennung von allen anderen (selbst erstellten) Webseiten, die sich auf Linux z.B. hier befinden:
/srv/www/htdocs

Das ist nur am eigenen Webserver möglich, am Server ihres Providers ist phpMyAdmin fertig installiert und für KundInnen nicht zu ändern..

Konfigurations-Datei

Erzeugen sie eine Text-Datei phpmyadmin.conf innerhalb der Konfiguration des Apache Webservers. Der Pfad kann je nach System und Version variieren, z.B.
/etc/apache2/conf.d/pma.conf
Beispiel für eine Konfigurations-Datei pma.conf
Alias /pma "/srv/www/pma"
<Directory "/srv/www/pma">
Order allow,deny
Allow from all
# Allow from localhost
</Directory>

Include

Die Konfiguration muss bei jedem Start des Webservers geladen werden. Dazu muss sich in der übergeordneten Konfigurations-Datei (httpd.conf oder default-server.conf) eine passende Include-Anweisung befinden.
Einbindung aller *.conf-Dateien im genannten Verzeichnis:
Include /etc/apache2/conf.d/*.conf
Einbindung einer einzelnen Datei:
Include /etc/apache2/conf.d/pma.conf

Anwendung

Nach Neustart des Webservers ist phpMyAdmin mit jedem Browser erreichbar, wenn man das Alias /pma unmittelbar an den Namen oder an die IP-Adresse des Webservers anfügt, z.B.
http://localhost/pma
http://192.168.0.1/pma

Das Alias kann in jedem HTML Hyperlink verwendet werden, z.B. (absolute, relative Adresse):
<a href="http://192.168.0.1/pma">pma</a>
<a href="http://192.168.0.1/pma">pma</a>

Web-Editor

Im Site-Manager jedes Web-Editors wird nurmalerweise das Arbeits-Verzeichnis DocumentRoot des Webservers eingestellt, z.B.
/srv/www/htdocs
Wenn phpMyAdmin (oder ein anderes Programm-Paket) in einem eigenen, außerhalb gelegenen Verzeichnis installiert wurde, dann sind die (derzeit ca. 700) Dateien des Programms für den Web-Editor nicht sichtbar. Das macht den Editor viel schneller und schützt phpMyAdmin vor unerlaubten oder unbeabsichtigten Änderungen.

Fortgeschrittene Konfiguration von phpMyAdmin

Weitere Details der Konfiguration können sie entweder mit Hilfe des Setup-Programms ausführen - verfahren sie weiter wie oben beschrieben - oder direkt mit einem Text-Editor durch Änderung und Ergänzung der Konfigurations-Datei config.inc.php  

Web-Adresse von phpMyAdmin

$cfg['PmaAbsoluteUri'] = 'http://localhost/phpmyadmin/';
Tragen sie jene Web-Adresse ein, unter der ihr Webserver phpMyAdmin findet: Am eigenen PC im Verzeichnis 'phpmyadmin', welches sich direkt im Arbeitsverzeichnis des Webservers befindet. In diesem Fall ist das Programmverzeichnis von phpMyAdmin (Linux, Windows)
/srv/www/htdocs/phpmyadmin
C:\Programme\Apache Software Foundation\Apache2.2\htdocs\phpmyadmin

Mehrere DB-Server

Sie können phpMyAdmin für die Verwaltung mehrerer DB-Server einsetzen. Die DB-Server sind fortlaufend mit der Variablen $i nummeriert. Vor Beginn des Server-Abschnitts wird in der Konfigurations-Datei $i=0; gesetzt. Der erste Server folgt nach $i++; (d.h. $i=1;), der nächste Server nach einem weiteren $i++; (d.h. $i=2; usw.).
Fügen sie einfach fütr jeden weiteren MySQL-Server einen Abschnitt dazu.

phpMyAdmin control user 'pma'

Die Identifikation nach http oder cookie ist schneller und sicherer als nach config
Dafür ist ein eigener control user vorgesehen, dessen Konfiguration unter dem Namen pma in der Dokumentation beschrieben wird. Sie können diesen user und seine Zugriffsrechte mit den dort beschriebenen SQL-Befehlen einrichten, oder direkt mit Hilfe von phpMyAdmin in der Datenbank mysql.
Jeder MySQL-user wird in DB mysql, Tabelle user eingetragen, z.B. mit Host=localhost, User=pma, Password=PASSWORD("geheim"). Diese Funktion verschlüsselt das eingegebene Passwort für das PHP-Modul mysqli. Für das ältere Modul mysql muss die Funktion OLD_PASSWORD verwendet werden.
Nach jeder Änderung der Zugriffsrechte müssen sie den SQL-Befehl flush privileges; erteilen, damit sie wirksam werden.
Erst nach Einrichten der Zugriffsrechte für den control user können die in der Konfigurationsdatei von phpMyAdmin eingetragenen Daten für diesen User verwendet werden.

pmadb - Datenbank

Eine Reihe interessanter Optionen von phpMyAdmin erfordern das Anlegen einer eigenen Datenbank. Der DB-Name ist in der Variablen festgelegt, z.B.
$cfg['Servers'][$i]['pmadb'] = 'phpmyadmin';
Um diese DB komplett einzurichten, verwenden sie das SQL-Script (evtl. Name mit Versions-Numer)
scripts/create_tables_mysql.sql
Dieses Script wird am besten automatisch ausgeführt, entweder mit Hilfe des Konsolen-Programms mysql oder mit phpMyAdmin (Menübefehl SQL). Kontrollieren sie den Text dieses SQL-Scripts vor Ausführung: Normalerweise wird ein user pma und eine Datenbank phpmyadmin eingesetzt. Ändern sie diese Angaben nach Bedarf bzw. legen sie den control user pma an, falls das noch nicht geschehen ist.
Klicken sie in phpMyAdmin das kleine SQL-Icon im linken Rahmen. Ein Abfrage-Fenster wird geöffnet, dort klicken sie Datei-Import. Wählen sie das SQL-Script reate_tables_mysql...sql und klicken sie ok.
Nach Ablauf aller SQL-Befehle ist die komplette Datenbank phpmysql erzeugt und kann in der Auswahl-Liste (linker Rahmen) ausgewählt, untersucht und verwendet werden.
Details zur Anwendung entnehmen sie der Dokumentation.

Die Angabe der Administrator-Zugangsdaten im Klartext ist heikel, aber für experimentelle Anwendung im lokalen Netzwerk zulässig. Professionelle Systeme müssen wesentlich schärfer abgesichert werden, z.B. durch SSL-Verschlüsselung.
Details finden sie in der Dokumentation zu phpMyAdmin, (Apache) Webserver und MySQL.

MultiUser Anwendung von phpMyAdmin

phpMyAdmin kann für mehrere User mit unterschiedlichen Zugangs-Rechten konfiguriert werden. In diesem Fall wird das Programm nur einmal installiert, jedoch unterschiedlich genutzt. Diese Variante wird von Web-Providern verwendet, kann aber auch im eigenen lokalen Netzwerk LAN sinnvoll sein.

MySQL-User:

Die Konfiguration der MySQL-User in der Tabelle mysql.user ist Voraussetzung für die MultiUser-Anwendung. Typisch wird für jeden User (KundIn) eine eigene Datenbank eingerichtet, auf welche sie/er das exklusive Zugangsrecht hat.

Allenfalls gibt es zusätzlich eine gemeinsam genutzte Datenbank, auf welche die AnwenderInnen meist nur Lese-Zugriff haben.
Lediglich der Administrator (root) hat vollen Zugriff auf alle Datenbanken.

Konfigurations-Datei   config.inc.php

Als erste Anweisung (vor Beginn des Server-Zählers $i=0; wird diese Zeile eingetragen:
$cfg['blowfish_secret'] = 'xyz';
Ersetzen sie xyz durch ein beliebiges selbst erfundenes Schlüsselwort.

Jeder einzelne für Multi-User Anwendung vorgesehene Server erhält diese Anweisung:
$cfg['Servers'][$i]['auth_type'] = 'cookie';

Cookies

Bedingung für diese und die meisten anderen Arten der Anmeldung (Authentication) ist die Zulassung von Cookies an jedem von den Usern verwendeten Browser.

Arbeitsweise

Bei jeder Anmeldung verlangt phpMyAdmin Name und Passwort. Als Antwort werden jene Daten erwartet, die in Tabelle mysql.user eingetragen sind. Es ist meist sinnvoll, dort die gleichen Daten zu verwenden wie für gleichnamige Linux-User (wenn diese existieren), kann jedoch auch beliebige Daten enthalten.

User-Name und -Passwort

Mit einfachen Mitteln ist es nicht vorgesehen, dass MySQL-User ihre User-Namen oder ihr MySQL Passwort selbst ändern.

Diese Arbeit muss vom MySQL Administrator root ausgeführt werden. In Sonderfällen kann man dafür spezielle Verwaltungs-Software verwenden, die jedoch mit potentiell gefährlichen Privilegien ausgestattet werden muss.
HTTP-Anmeldung
Eine ähnliche Art der Authentifizierung bietet die Methode 'HTTP'.

Sie ist jedoch im Vergleich zur Cookie-Methode etwas anfälliger, vor allem gegen die zahlreichen Fehler verschiedener Versionen des M$IE Browsers.

Verwaltung mehrerer Server mit phpMyAdmin

phpMyAdmin ist in der Lage, mehrere My<SQL Datenbank-Server zu verwalten, die an unterschiedlichen Adressen arbeiten.

Der erste verwaltete Server befindet sich typisch am gleichen (Server)-PC befindet, weitere Server werden über das lokale Netzwerk oder über das Internet erreicht.

Voraussetzungen:

Die (IP)-Adresse des entfernten Servers ist bekannt und erreichbar (PING).
Alle beteiligten Firewalls (Eigener PC, Router, entfernter Server) müssen die Kommunikation erlauben (Standard-Port ist 3306).
Die Konfiguration des gewünschten Servers (Datenbank mysql) muss die Fern-Wartung erlauben.
Die Konfiguration erfolgt durch (manuelle) Eintragung der Server-Daten in die Konfigurations-Datei config.inc.php
Das Beispiel rechts zeigt (gekürzt) die Anordnung:

Vor Beginn der Konfiguration wird die PHP-Variable $i als Server-Zähler eingerichtet.

Danach werden die Elemente des Arrays $cfg['Servers'][1] festgelegt. Sie gelten normalerweise für den Server am gleichen PC, d.h. mit der Adresse localhost

Vor jedem weiteren Server wird der Zähler $i erhöht, danach folgt die Kofiguration. Als Beispiel ist die Konfiguration des Servers $cfg['Servers'][2] auf Adresse 12.34.56.78 angedeutet.
Beispiel einer Konfigurations-Datei config.inc.php
$i=0;

$i++;
$cfg['Servers'][$i]['host'] = 'localhost';
$cfg['Servers'][$i]['user'] = 'root'; $cfg['Servers'][$i]['password'] = 'abc';
//... weitere Elemente

$i++;
$cfg['Servers'][$i]['host'] = '12.34.56.78';
$cfg['Servers'][$i]['user'] = 'root'; $cfg['Servers'][$i]['password'] = 'xyz';
//... weitere Elemente

Server-Auswahl

Bei Aufruf der phpMyAdmin Startseite werden alle konfigurierten Server im Navigations-Rahmen (Spalte links) angezeigt.

Zur Verwaltung eines Servers wählen sie zuerst den Server, danach die Datenbank und alle weiteren Optionen.

Daten-Austausch

Auf diese Weise ist es besonders einfach, Strukturen oder Daten mit einem entfernten Server auszutauschen. Dazu sind die Menü-Optionen Export und SQL von phpMyAdmin besonders geeignet.

Diese Methode eignet sich gut für den einmaligen oder seltenen Austausch weniger Daten.
Wenn die Arbeit öfters wiederholt wird, dann sollte sie automatisch (z.B. von einem kleinen PHP-Programm) ausgeführt werden.
Export-Beispiel:
Wählen sie Server, Datenbank und Tabelle, danach Menü-Befehl Export.
Die Export-Seite sollte angezeigt werden.
Wählen sie das gewünschte Format aus der Liste 'Export'.
Zur Verarbeitung der Daten mit Office- oder anderen Programmen sind die Formate CSV oder XML am besten geeignet.
Zur Weitergabe der Daten an beliebige Datenbanken oder zur Sicherung wählen sie das Format 'SQL'.
Die Liste 'Optionen' bietet 2 wichtige, unabhängig wählbare Einstellungen:
Markieren sie Struktur, um die Struktur der gewählten Tabelle zu exportieren: Tabellen-Name, Namen und Einstellungen aller Felder, ...
Markieren sie Daten um alle Daten oder ausgewählte Daten zu exportieren.
Mit Klick auf den Button OK (rechts unten) wird der Export-Auftrag ausgeführt. Der erzeugte Text wird in einem Fenster angezeigt.
Sie können den Export-Text am Server als Datei  *.sql speichern. Sie brauchen allerdings Datei-Zugang zu einem entfernten Server, um an die Datei zu gelangen.
Einfacher ist es meistens, den Text zu markieren, kopieren und direkt in eine Text-Datei am eigenen PC einzufügen.
Import-Beispiel:
Halten sie die Aufgabe in Form von SQL-Anweisungen bereit. Am besten erstellen sie den SQL-Text nicht manuell, sondern durch Export (Dump) aus einer Datenbank.
Beachten sie die Möglichkeit, mit SQL wahlweise Strukturen und / oder Daten auf den gewählten Server zu übertragen.
Wählen sie Server und Datenbank.
Wählen sie Menü-Befehl SQL
Ein Feld zur Aufnahme der SQL Anweisung(en) wird angezeigt. Löschen sie einen darin allenfalls eingetragenen Text (z.B. SELECT * FROM ....)
Kopieren sie die gewünschten SQL-Anweisungen aus der Text-Datei in das SQL-Fenster. und klicken sie den Button OK.
Die SQL-Anweisungen werden ausgeführt.

Beispiel Datei-Import
Wenn sie Datei-Zugriff auf den Server haben, dann können sie die Text-Datei mit den SQL-Anweisungen *.sql auf den Server kopieren.
Wählen sie in phpMyAdmin den Menü-Befehl Import, um die Anweisungen der Datei auszuführen.

PHP-Module für die Kommunikation mit MySQL

PHP-Modul mysqli:

Für die Kommunikation mit einem neuen MySQL-Server ab Version >=4.1 verwendet phpMyAdmin (wie jedes andere PHP-Programm) das PHP-Modul mysqli
Das Modul enthält zahlreiche spezialisierte Funktionen für den Zugriff auf MySQL-Server.

PHP-Modul mysql:

Für den Zugriff auf einen älteren MySQL-Server bis Version <=4.0 wird das PHP-Modul mysql verwendet.
Das Modul enthält alle Funktionen für den Zugriff auf ältere MySQL-Server.

Beide PHP-Module mysql und mysqli können gleichzeitig installiert werden. Für neue Entwicklungen sollten sie jedoch nur mysqli und dessen Feunktionen verwenden.
Es ist möglich, in einer Übergangszeit mit einem neuen MySQL-Server und mit beiden PHP-Modulen zu arbeiten. Installieren sie in diesem Falle beide PHP-Module.
Ein PHP-Programm kann zwar Befehle beider Module enthalten, für den Zugriff auf einen bestimmten Server jedoch nur jeweils eines der Module verwenden.
Am MySQL-Server legen sie für beide Zugriffs-Arten unterschiedliche User an: Das Passwort für mysqli-Zugriff wird mit Funktion PASSWORD verrschlüsselt, jenes für das alte Modul mysql mit Funktion OLD_PASSWORD
Details in den Webs von PHP und MySQL.

MySQL-Zugangskonten (accounts)

Dieser Absatz hat nur für eine spezielle Kombination von Programm-Versionen Bedeutung:
Ein neuer MySQL-Server >=4.1. und ein altes PHP-Modul mysql
Die Konfiguration eigener Zugangskonten ist für AnfängerInnen ziemlich schwierig.
Falls sie damit Probleme haben, verwenden sie entweder nur ältere Komponenten (PHP-Modul mysql und MySQL<=4.0) oder nur neue Komponenten (PHP-Modul mysqli und MySQL >=4.1).

Datenbank mysql, Tabelle user:

Jeder MySQL-Server verwendet die Datenbank mysql zur Verwaltung der Zugriffsrechte. In der Tabelle user sind alle berechtigten AnwenderInnen und deren Passworte enthalten.
Die Passworte sind nicht im Klartext, sondern verschlüsselt gespeichert. Zur Codierung von Passworten verwenden sie die SQL-Funktion PASSWORD, zur Codierung für alte MySQL-Server die SQL-Funktion OLD_PASSWORD

Dabei verwendet MySQL <=4.0 weniger sichere Schlüssel mit 16 Zeichen Länge, Version >=4.1 Schlüssel hoher Sicherheit mit 42 Zeichen Länge. Mit Hilfe der Passwort-Länge können sie kontrollieren, ob ein User alten oder neuen Stils vorliegt. Die Verschlüsselung ist unsymmetrisch, d.h. aus jedem Passwort wird ein eindeutiger Schlüssel erzeugt, umgekehrt kann ein Schlüssel nicht (eindeutig) zu einem Passwort decodiert werden.
Link: MySQL Online Manual

Theoretisch können MySQL-Konten ohne Passwort angelegt werden. Das ist jedoch sehr riskant und neue MySQL-Installer verlangen deshalb nachdrücklich die Passwort-Eingabe.
Hier wird als Beispiel angenommen, dass sie bereits bei Installation ein AdministratorInnen-Konto mit Name 'dbadmin' und Passwort 'geheim' (Codierung mit 42 Zeichen) angelegt haben.

Konsolen-Programm mysql:

Für alle Programme, die nur das PHP-Modul mysql verwenden, muss auf einem 'neuen' MySQL-Server (mindestens) ein Konto mit 'altem' Passwort angelegt werden.
Änderungen an der Datenbank mysql können allerdings nur mit (neuen) Administrator-Rechten ausgeführt werden.
Starten sie ein Konsolen-Fenster (Linux-shell oder Win cmd.exe).
Das Konsolen-Programm mysql dienst zur Verwaltung von MySQL-Servern. Das Programm ist in jedem MySQL-Paket enthalten. Starten sie das Programm mysql (Windows mysql.exe im MySQL-Programmordner, Unterverzeichnis bin).
Details finden sie in der Dokumentation zu MySQL.
Start von mysql in einem Konsolen-Fenster:
mysql -udbadmin -pgeheim
Da der Zugriff geschützt ist, müssen sie bereits bei Programmstart Name (Prefix -u) und Passwort (Prefix -p) angeben, beides ohne Leerzeichen dazwischen. In diesem Beispiel erfolgt die Anmeldung mit dem Namen 'dbadmin' und dem Passwort 'geheim'.
Auswahl der Datenbank mysql zur Bearbeitung (vergessen sie nicht den abschließenden Strichpunkt):
mysql> use mysql;
Kontrolle:
mysql> select host,user,password from user;
Das 'neue' Passwort sollte mit 42 Zeichen codiert sein.
Einfacher als das Anlegen eines neuen Kontos ist die Änderung des anfänglich erstellten 'neuen' Administrator-Kontos:
mysql> update user set password=old_password('geheim') where user='dbadmin';
Mit SQL-Funktion old_password wird das angegebene Paswort (hier 'geheim') nach alter Version mit 16 Zeichen Länge codiert und gespeichert.
Kontrolle:
mysql> select host,user,password from user;
Das 'alte' Passwort sollte nun mit 16 Zeichen codiert sein.

Alternative:
Erzeugung (insert ..) eines neuen Datensatzes in der Tabelle user. Sie müssen dann alle Zugangsrechte (Felder *_priv) auf 'Y' setzen.
Aktualisierung:
Die Zugangsrechte müssen nach jeder Änderung aktualisiert werden:
mysql> flush privileges;
Nun können sie das Konsolen-Programm verlassen
mysql> quit

Der Zugang zum 'neuen' MySQL-Server ist nun weiterhin mit dem Namen 'dbadmin' und Passwort 'geheim' möglich, allerdings mit dem PHP-Modul mysql.
Tragen sie die Zugangsdaten (dbadmin, geheim) in die Konfigurationsdatei config.inc.php von phpMyAdmin ein und starten sie das Programm: Die Verbindung sollte problemlos erfolgen.
Wählen sie Datenbank mysql, Tabelle user.
phpMyAdmin Legen sie mit phpMyAdmin in mysql | user einen neuen Datensatz (d.h. ein neues Zugangs-Konto) für die Verwendung von PHP-Modul mysqli an.

Verwenden sie einen neuen Namen (z.B. 'newadmin') und für die Codierung des Passworts die SQL-Funktion password. Setzen sie alle Rechte (Felder *_priv) auf 'Y'.
Erteilen sie danach den SQL-Befehl (Menü-Button 'SQL') flush privileges;
Ab nun können sie ihren MySQL-Server wahlweise mit 2 verschiedenen Konten verwalten:
(1) Name 'dbadmin', Password 'geheim', PHP-Modul mysql.
(2) Name 'newadmin', Password 'geheim', PHP-Modul mysqli.
Links das Ergebnis des SQL-Befehls
select host,user,password from user;
(Klick auf den Menübefehl 'Anzeigen' von phpMyAdmin).
Das gleiche Passwort ('geheim') wird je nach SQL-Funktion (oben old_password, unten password) unterschiedlich codiert.
Host:
+ Mit localhost oder mit der IP-Adresse 127.0.0.1 können sich beide User nur am gleichen PC anmelden. Das funktioniert, wenn sie Webserver und MySQL-Server am gleichen PC betreiben.
+ Für den Zugriff auf dem lokalen Netzwerk (LAN) tragen sie dessen Basis-Adresse ein, und ersetzen die letzte Zifferngruppe durch %, z.B. 192.168.0.%

+ Für beliebigen Zugriff (auch aus dem Internet) tragen sie das Zeichen % ein. Details dazu in der MySQL-Dokumentation. Das stellt allerdings ein erhebliches Risiko dar und kommt nur für experimentelle Zwecke in Frage, oder wenn sie zusätzliche professionelle Sicherungen anbringen.
Ähnlich verfahren sie mit den übrigen Zugangskonten:
Ein Passwort mit 'alter' Codierung wird mit SQL-Funktion old_password codiert. Der Zugang erfolgt mit PHP-Modul mysql.
Ein Passwort mit 'neuer' Codierung wird mit SQL-Funktion password codiert. Der Zugang erfolgt mit PHP-Modul mysqli.
Ändern sie niemals die Struktur irgendeiner Tabelle der Datenbank 'mysql, z.B. durch Änderung der Feld-Namen oder durch Einfügen zusätzlicher Felder'. Das kann die Datenbank 'mysql' unbrauchbar machen ! In diesem Fall ist kein Zugriff auf irgendwelche Daten mehr möglich. Die Wiederherstellung ist zwar theoretisch möglich, jedoch - wenn überhaupt - nur mit großem Aufwand und Zeitverlust.

phpMyAdmin funktioniert nicht ?

Hier eine kurze Check-Liste häufiger und bekannter Fehler:
(unvollständig, unverbindlich und auf eigenes Risiko !)
Zuerst die Voraussetzungen ! Testen sie, ob wirklich alle Voraussetzungen für die Funktion von phpMyAdmin erfüllt sind. Das erlaubt bereits eine gute Eingrenzung auftretender Probleme.
Zuerst am Server-PC ! Führen sie alle angegebenen Tests immer zuerst am PC des Webservers und/oder Datenbank-Servers aus. Nur bei Erfolg ist es sinnvoll, einen Test auf einem anderen PC auszuführen !
Benutzen sie ihren Webserver ? Symptom: Der Browser will die Startseite index.php nicht öffnen, sondern downloaden, oder fragt nach einem Programm zum Öffnen.
Sie können PHP-Programme nicht direkt mit dem Browser öffnen, sondern nur über den Webserver, d.h. mit "http://..."
Lösung: Verwenden sie die Adresse ihres Webservers (z.B. am Server-PC http://localhost) und folgen sie einem Link zum Programm phpMyAdmin.
Funktioniert der Webserver ? Geben sie die Adresse (URL) des Webservers in die Browser-Adresszeile ein.
Am Server-PC selbst ist das http://localhost
auf jedem anderen PC im lokalen Netz (LAN) geben sie den Namen oder die Adresse des Webservers an, z.B. http://192.168.0.1
+ Wenn ihre Startseite index.html oder index.htm angezeigt wird, dann funktioniert der Webserver.
- Falls nicht, müssen sie ihren Webserver installieren, konfigurieren und starten.
Details finden sie auf der Seite Apache-Webserver auf Windows.
Funktioniert PHP ? Probieren sie eine einfache PHP-Testseite, z.B. eine Text-Datei test.php, welche nur folgenden Text enthält:
<html><?php phpinfo(); ?></html>
+ Wenn eine umfangreiche Webseite mit PHP-Information engezeigt wird, dann funktioniert PHP. Suchen sie in dieser Webseite nach mysql bzw. nach mysqli : Sie sollten eine Tabelle mit Informationen zu diesem Modul finden. Falls nicht - lesen sie den nächsten Punkt 'PHP-Module'.
- Falls nicht, müssen sie PHP installieren und konfigurieren. Nach Installation oder Änderung von PHP muss der Webserver neu gestartet werden.
Details finden sie auf der Seite 'PHP auf Windows'.
Ist das PHP-Modul mysqli (mysql) geladen ? Symptom: Fehlermeldungen wie 'Cannot load MySQL extension...' .
PHP benötigt das Modul mysqli (Windows: php_mysqli.dll), und/oder das Modul mysql (php_mysql.dll).
Lösung: Konfigurieren sie PHP so, dass diese Module unterstützt werden. Im einfachsten Fall genügt es, das Modul aus dem PHP-Unterverzeichnis 'ext' in das PHP-Verzeichnis (Windows: wo sich php.exe befindet) zu kopieren und das Modul in der Konfiguration php.ini einzuschalten.
Nach jeder Änderung der PHP-Konfiguration muss der Webserver neu gestartet werden.
Details finden sie auf den Seiten PHP auf Windows, PHP-Umgebung.
Funktioniert der MySQL-Datenbank-Server ? Öffnen sie eine Konsole (Linux-shell oder Windows cmd.exe) und starten sie das Programm
Linux:# mysql
C:\> mysql
Wenn sie (Windows) eine Meldung erhalten wie "Befehl mysql ist falsch oder konnte nicht gefunden werden', dann verzweigen sie in das Programm-Verzeichnis von MySQL und versuchen sie es nochmals, z.B.
C:\Programme\MySQL\bin> mysql

+ Wenn sie eine Antwort bekommen (z.B. 'Welcome...' aber auch 'Access denied...'), dann arbeitet ihr MySQL-Server.
- Wenn sie eine Fehlermeldung erhalten (z.B. 'Can't connect to MySQL server'), müssen sie den MySQL-Server installieren, konfigurieren und starten.
Details dazu auf der Seite 'MySQL auf Windows', auf dieser Seite unter 'MySQL-Zugangskonten' oder in der umfangreichen MySQL-Dokumentation.

Alternative (Windows): Starten sie die Dienst-Verwaltung
C:\Windows\system32\services.msc
und suchen sie die Zeile 'MySQL'. Der Status sollte 'Gestartet' lauten. Falls nicht, versuchen sie den Server mit Klick auf den gleichnamigen Link zu 'starten'.
Der Starttyp von MySQL (Rechtsklick, Eigenschaften) sollte auf 'Automatisch' gesetzt sein.

Alternative (SuSE-Linux): Öffnen sie Kontrollzentrum | YAST-Module | System | Runlevel-Editor. In der angezeigten Tabelle sollte der Dienst (service) mysql mit Status aktiviert angezeigt werden. Falls nicht, markieren sie den Dienst und klicken Aktivieren
Firewall oder Proxy-Server ? Port: Die Kommunikation mit dem MySQL-Server erfolgt normalerweise über Port 3306. Nur erfahrene AnwenderInnen sollten diesen Port ändern - In allen anderen Fällen verwenden sie Port 3306 oder lassen ein entsprechendes Feld auf Anfrage einfach leer.
Firewall-Software ist meist so eingestellt, dass jede Verbindung verhindert wird, die nicht ausdrücklich erlaubt wurde - Sie müssen daher die Verwendung von Port 3306 freigeben, und zwar auf jedem einzelnen PC mit Firewall (Server und alle PC im lokalen Netzwerk).
Für einen Test können sie einen oder mehrere Firewalls kurzfristig abschalten - Wenn die Verbindung danach funktioniert, liegt das Problem beim Firewall. Stellen sie den Firewall richtig ein, starten sie ihn neu und wiederholen sie den Test.
Proxy: Wenn sich ein MySQL-Server nicht im lokalen Netz befindet, sondern über das Internet erreichbar ist, dann laufen alle Anfragen über eine gemeinsame Schnittstelle (Proxy oder Router). Proxy-Server vermitteln zwischen ihrem PC oder lokalen Netzwerk und dem Internet. Das kann ein PC mit Proxy-Software sein, eine Hardware-Box oder lediglich ein Programm am eigenen PC. Auch hier ist die Beschränkung von Ports möglich - Stellen sie sicher, dass die Kommunikation über Port 3306 erlaubt ist. Abschalten hilft hier nicht, denn dann ist jede Verbindung mit dem Internet unterbrochen.
Details zur Konfiguration von Firewall oder Proxy finden sie in der jeweiligen Dokumentation. Da eine große Anzahl unterschiedlicher Programme verwendet werden kann, sind auf dieser Seite keine Angaben möglich.
Liegt phpMyAdmin im Arbeits-Verzeichnis des Webservers ? Ihr Webserver kann phpMyAdmin nur dann erreichen, wenn sich dessen Programm-Verzeichnis innerhalb seines Arbeits-Verzeichnisses befindet. Insbesondere auf Linux sind die Zugangsrechte streng auf dieses Verzeichnis beschränkt.
Die Rechte für Lesen (read) und Ausführung (execute) im Verzeichnis phpmyadmin müssen zumindest für den Webserver erteilt werden, für Testzwecke für alle user. Linux-User des Webservers ist normalerweise wwwrun, nicht die/der Web-BesucherIn !
Es ist prinzipiell möglich, auch Verzeichnisse außerhalb des Webserver-Arbeits-Verzeichnisses zu verwenden. Diese Möglichkeit ist jedoch erfahrenen AdministratorInnen vorbehalten.
Details zur Konfiguration der Webserver-Pfade finden sie auf der Seite Apache auf Windows sowie auf dieser Seite unter Installation von phpMyAdmin.
Ist der Link korrekt ? Wenn sie einem selbst erstellten Link zur Startseite von phpMyAdmin index.php folgen, dann kontrollieren sie, ob der Link korrekt angelegt wurde und wirklich dorthin führt.
Alternativ können sie den Pfad auch manuell in die Adresszeile ihres Browsers eingeben:
http://localhost/phpmyadmin/index.php
Linux unterscheidet große und kleine Buchstaben, z.B. phpMyAdmin und phpmyadmin !
Wenn das Verzeichnis Versions-Nummern trägt (z.B. phpMyAdmin 2.8 ), dann muss der Link dorthin nach jedem Update von phpMyAdmin angepasst werden !
Konfiguration komplett ausgeführt ? Wenn sie die Konfiguration von phpMyAdmin mit dem Script setup.php ausgeführt haben, dann könnten sie den Abschluss vergessen haben. Kontrollieren sie, ob die Datei phpmyadmin/config/config.inc.php erzeugt wurde, und ob diese Datei in das Arbeitsverzeichnis phpmyadmin/config.inc.php kopiert wurde.
+ Falls vorhanden: Lesen sie die Konfigurations-Datei zur Kontrolle mit einem Text-Editor.
- Falls nicht vorhanden: Wiederholen sie die Konfiguration.
Details zur Konfiguration von phpMyAdmin auf dieser Seite.
Name und Passwort korrekt eingetragen ? Symptom: phpMyAdmin startet, jedoch mit Fehlermeldung 'Access denied...'.
Haben sie phpMyAdmin richtig konfiguriert, d.h. Name und Passwort eines MySQL-Kontos (root) eingetragen, mit dem sie Administratoren-Rechte haben ? (d.h. alle Felder, deren Namen auf _priv enden sind auf 'Y' gesetzt). Ist für das gewünschte MySQL-Zugangskonto das passende PHP-Modul eingetragen ?
Bei De-Installation von MySQL werden die Daten nicht gelöscht. Falls die Daten (insbesondere die Datenbank mysql ) zerstört sind, dann werden sie evtl. auch von einem neu installierten MySQL Server verwendet - Dann läuft der Server zwar, es ist jedoch kein Zugriff möglich. Abhilfe: Nach De-Installation auch die Daten löschen, erst dann neu installieren.
Details dazu auf dieser Seite unter Konfiguration von phpMyAdmin und MySQL-Zugangskonten.
Meldet sich der Webserver so wie vorgesehen ? Symptom: phpMyAdmin startet, jedoch mit Fehlermeldung 'Access denied...'.
Stellen sie zuerst sicher, dass Name (root) und Passwort in der Konfigurations-Datei config.inc.php richtig eingetragen wurden, achten sie auch auf Groß/Klein-Buchstaben.
Versuchen sie mit dem Konsolen-Programm mysql eine Verbindung mit dem MySQL-Server:
Linux:# mysql -uroot -pgeheim
C:\> mysql -uroot -pgeheim
- Wenn das nicht funktioniert, dann muss der MySQL-Server richtig konfiguriert, notfalls neu installiert werden.
+ Wenn das funktioniert, dann geben sie den Zugang für root von allen IP-Adressen frei:
mysql> use mysql;
mysql> update user set host="%" where user="root";
mysql> flush privileges;
Wenn phpMyAdmin nun funktioniert, dann meldet sich der Webserver (Host) anders an, als in Datei config.inc.php eingetragen (z.B. mit seinem Namen an Stelle von localhost ). Ändern oder ergänzen sie in Tabelle mysql | user das Feld Host von user="root" und machen sie bei Erfolg die Freigabe host="%" wieder rückgängig (Sicherheits-Risiko !).
Wird das passende PHP-Modul verwendet ? Bei Verwendung 'alter' MySQL-Server <=4.0 muss in der Konfiguration das PHP-Modul mysql eingetragen sein. Bei Verwendung 'neuer' Server >=4.1 muss für 'alte' Zugangskonten das Modul mysql eingetragen sein, für 'neue' Konten das Modul mysqli.
Wird ein MySQL-Konto mit 'neuem' Passwort verwendet ? Symptom: Sie erhalten Fehlermeldungen wie
client does not support authentication protocol...
Lösung: Richten sie ein eigenes MySQL-Konto mit 'altem' Passwort und allen Zugangsrechten ein, oder verwenden sie PHP-Modul mysqli statt mysql
Details auf dieser Seite unter MySQL-Zugangskonten.
Wird die richtige Socket-Verbindung verwendet ? Symptom (u.a. von Linux-RedHat berichtet): Fehlermeldungen wie 'MySQL Connection Failed: Can't connect ... through socket...'
Die Lösung kann auf mehreren Wegen erfolgen:
Ermitteln sie zunächst den Pfad zur Datei mysql.sock.
+ Behebung in der PHP-Konfiguration php.ini
Tragen sie den Pfad ein, z.B.
mysql.default_socket = /var/lib/mysql/mysql.sock
+ Behebung für phpMyAdmin in config.inc.php:
Tragen sie den Pfad in die Socket-Konfiguration ein:
$cfg['Servers'][$i]['socket'] = '/var/lib/mysql/mysql.sock';
+ In jedem Fall muss der Webserver Lese-Rechte auf die Datei mysql.sock haben.
Wenn nichts hilft ... phpMyAdmin arbeitet in einem sehr komplexen Umfeld. Es kann sein, dass eine der Komponenten geringfügig falsch eingestellt ist, oder in einer bestimmten Version nicht korrekt mit den übrigen Programmen zusammenarbeitet.
Stellen sie zunächst sicher, dass alle von phpMyAdmin benötigten Voraussetzungen erfüllt sind. Suchen sie erst danach Fehler bei phpMyAdmin.
LAMP-Systeme mit phpMyAdmin werden weltweit zig-tausendfach eingesetzt. Sie sind selten die/der Erste oder Einzige AnwenderIn mit diesem Problem. Daher ist die Wahrscheinlichkeit sehr hoch, dass Andere ihr Problem bereits gefunden und gelöst haben. Es hilft allerdings sehr, wenn sie das Problem eingrenzen können.
Konsultieren sie die zusammen mit den Programmen (Webserver, PHP, MySQL, phpMyAdmin) gelieferte Dokumentation und die entsprechenden Webseiten. Außerdem gibt es im Web zahlreiche Diskussions-Foren mit Beiträgen zu LAMP, WAMP, phpMyAdmin, usw.
Wenn sie erfolglos ältere Versionen der Komponenten versucht haben, dann konfigurieren sie am besten ein neues System mit den aktuellen stabilen Versionen aller Programme. Sämtliche bekannten Probleme älterer Versionen sind dann meist rasch und dauerhaft behoben.

Apache Webserver Konfiguration

Wenn man phpMyAdmin auf einem Entwicklungs-Server betreibt, dann kann sich die große Zahl der Dateien am Web-Editor unangenehm bemerkbar machen.
Jeder professionelle Web-Editor enthält auch einen Site-Manager: Dieses Programm verwaltet die zahlreichen Beziehungen der Dateien untereinander. Die >600 Dateien von phpMyAdmin mit ihren unzähligen Beziehungen binden viele Resourcen und machen den Site-Manager und damit auch den Web-Editor unnötig langsam.
Eine brauchbare Maßnahme ist die Trennung der eigenen Webseiten von phpMyAdmin und allen weiteren größeren Web-Paketen von Web-Programmen, Manuals etc.
Für Webserver und Web-BesucherInnen ergibt sich kein Unterschied, der Editor wird jedoch entlastet und arbeitet wesentlich rascher.

Auslagerung von phpMyAdmin

Verschieben sie das ganze Verzeichnis an einen passenden Pfad außerhalb des Web-Verzeichnisses.
Beispiel-Verzeichnisse zur Auslagerung (Linux, Windows):
/home/test/phpmyadmin
C:\test\phpmyadmin

Apache Konfiguration

Erzeugen sie eine neue Text-Datei, z.B.
/etc/apache2/eigene/phpmyadmin.conf
C:\Programme\Apache Software Foundation\Apache2.2\conf\eigene\phpmyadmin.conf
In dieser Datei wird die Konfiguration für phpMyAdmin festgelegt.
Das Beispiel setzt voraus, dass sie für eigene Konfigurations-Maßnahmen das Verzeichnis eigene angelegt haben, und dass sie alle darin enthaltenen Dateien automatisch in die Apache-Konfiguration einbinden, z.B. mit
Include /etc/apache2/eigene/*.conf
Das Beispiel rechts zeigt einen Vorschlag für den Inhalt der kleinen Datei zur Ergänzung der Apache Konfiguration.
Zunächst wird der Alias-Name /phpmyadmin mit jenem Verzeichnis verknüpft, in welches die phpMyAdmin Dateien verschoben wurden.
Danach folgt ein <Directory>-Block, in dem die spezielle Konfiguration für dieses Verzeichnis festgelegt wird.
Im Beispiel wird der Zugriff auf das lokale Netzwerk begrenzt, d.h. auf alle PC mit der angegebenen Basis-Adresse.
Inhalt der Datei phpmyadmin.conf
Alias /phpmyadmin /home/test/phpmyadmin
<Directory /home/test/phpmyadmin>
Order deny,allow
Deny from All
Allow from 192.168.0.0/255.255.255.0
</Directory>

Anwendung

Nach Neustart des Webservers kann man das phpMyAdmin Programm mit Eingabe des angelegten Alias starten - von jedem PC des lokalen Netzwerks.

Start des Programms:
http://192.168.0.1/phpmyadmin/
Details zu den Themen Apache (Konfiguration), IP-Adresse und Maske

XHTML CSS