Datenbanken komfortabel im Griff

Teil 2: MySQL-Server verwalten mit phpMyAdmin

  1. MySQL-Server verwalten mit phpMyAdmin
  2. Teil 2: MySQL-Server verwalten mit phpMyAdmin

So formatiert ein Klick auf "PHP-Code erzeugen" die ausgeführte SQL-Abfrage so um, dass diese direkt aus dem Browser heraus kopiert und dann in eigene PHP-Skripte eingefügt werden kann. Haben Sie auf den Link geklinkt, erscheint auf der Folgeseite an dessen Stelle ein Link "Ohne PHP-Code", der zur Ausgangsabfrage zurückführt. Der Befehl "Bearbeiten" öffnet das SQL-Abfragefenster, wo Sie die Abfrage verarbeiten können.

Sun kauft MySQL

© Archiv

Daten bearbeiten

Das Verändern und Löschen von Daten erfolgt am einfachsten über die kleinen Symbole, die Sie bei der Ansicht von Tabellen oder auch bei Abfrageergebnissen finden.

Seit der phpMyAdmin Version 2.5.5 können Sie mehrere Datensätze gleichzeitig bearbeiten. Wählen Sie hierzu mit den Checkboxen neben den Datensätzen die zu bearbeitenden Zeilen aus. Danach können Sie unterhalb der Ergebnisliste im Dialog "Markierte" den Link "Bearbeiten" bzw. das Stift-Symbol anklicken. "Alle auswählen" markiert alle Datensätze zur Bearbeitung.

Nach dem Klick auf "Bearbeiten" zeigt phpMyAdmin die übersichtliche Maske zum Bearbeiten der Datensätze an. Dort können Sie nun die entsprechenden Daten einsehen, vergleichen und ganz nach Ihren Wünschen ändern.

Um einen Datensatz zu löschen, klicken Sie das kleine X-förmige Symbol neben dem jeweiligen Datensatz an. Über die Checkboxen lassen sich auch mehrere Zeilen auf einen Schlag entfernen.

Um alle Datensätze einer Tabelle zu löschen und nur noch die Tabellenstruktur übrig zu lassen, wechseln Sie in die Datenbankansicht. In der Liste der enthaltenen Tabelle suchen Sie die Zeile, in der sich die zu leerende Tabelle befindet und klicken auf das Mülltonnensymbol.

SQL-Abfragen und -Validierung

Für Situationen, in denen der Administrator SQL-Sequenzen explizit formulieren möchte, stellt phpMyAdmin einen Editor bereit. Diesen finden Sie unter dem Reiter "SQL". Auch dessen Nutzung wird optimal unterstützt. Ruft man die Texteingabebox beispielsweise im Kontext einer geöffneten Tabelle auf, so blendet phpMyAdmin die zugehörigen Feldnamen ein. Die Auswahl eines Namens und das Anklicken einer Schaltfläche platziert den Namen dann an der aktuellen Cursorposition. Weitere sehr nützliche Editor-Features sind ein SQL-Historymechanismus, eine Stapelverarbeitung für SQL-Befehle, Syntaxhervorhebung, und eine Lesezeichenfunktion.

Datenbanken komfortabel im Griff

© Archiv

Rückmeldung vom Mimer-SQL-Validierungsserver, der per Webservice angebunden werden kann.

In die Kategorie "das bieten nicht alle" fällt die Anbindungsmöglichkeit an einen kostenlosen SQL-Validierungs-Webservice. SQL-Befehle, die man per SOAP-Protokoll an den Validator-Server der Firma "Mimer Information Technology" () leitet, werden dort auf SQL99-Kompatibilitiät untersucht (Näheres zur Einrichtung im Textkasten).

Phpmyadmin einrichten

phpMyAdmin steht unter den Bedingungen der GNU Public Licence für die freie Nutzung zur Verfügung. Das bei Redaktionsschluss aktuelle, stabile Release trägt die Nummer 2.11.3. Das Tool können Sie als Tar-, Zip- oder 7z-File von der Website www.phpmyadmin.net herunterladen. Die Installation vollzieht sich in zwei Schritten:

Entpacken Sie das phpMyAdmin-Archiv im Dokumente- Verzeichnis des Webservers. Dabei wird ein Directory mit dem Namen "phpMyAdmin-" erzeugt, das Sie in "phpmyadmin" umbenennen sollten.

Konfigurieren Sie die Webapplikation über die Datei "phpmyadmin/config.inc.php". Am einfachsten geschieht dies mithilfe des speziellen PHP-Scripts "scripts/setup.php". Vor dessen Aufruf über die URL ([ext]http://localhost/phpmyadmin/scripts/setup.php[/ext]) muss innerhalb des Anwendungsverzeichnisses ein Directory "config" erstellt werden. Die Konfigurationsdatei wird dort generiert und muss anschließend ins Elternverzeichnis verschoben werden.

Die Minimalkonfiguration von phpMyAdmin ergibt sich durch das Hinzufügen eines MySQL-Servers (Button "Add" auf der "Global Actions" Seite), der Angabe der Adresse dieses Servers (z.B. "localhost") und der Spezifikation des Super User Namens einschließlich Passwort. Alle anderen Parameter sind vorbelegt ("Connection Type", PHP Extension) oder können zunächst unberücksichtigt bleiben. Die vom Script erzeugte Konfigurationsdatei sieht im einfachsten Fall wie folgt aus:

<?php
$i = 0;
/* Server localhost (config:root) [1]
.*/
$i++;
$cfg['Servers'][$i]['host'] =
.'localhost';
$cfg['Servers'][$i]['extension'] =
.'mysqli';
$cfg['Servers'][$i]['connect_type'] =
.'tcp';
$cfg['Servers'][$i]['compress'] =
.false;
$cfg['Servers'][$i]['auth_type'] =
.'config';
$cfg['Servers'][$i]['user'] = 'root';
$cfg['Servers'][$i]['password'] =
.'geheim';
?>

Soweit nicht selbsterklärend, haben die Konfigurationsvariablen folgende Bedeutung:

$cfg['Servers'][$i]['extension'] legt fest, welche PHP-MySQL-Erweiterungen phpMyAdmin für die Verbindung zur Datenbank verwendet. "mysqli" ist eine verbesserte MySQL-Erweiterung, die seit der Einführung von PHP 5.0.0 zur Verfügung steht. Sie wird für die Kommunikation mit MySQL Server ab dem Release 4.1.x empfohlen.

$cfg['Servers'][$i]['auth_type'] legt den Authentifizierungsmechanismus fest. Es stehen drei Optionen zur Verfügung:

MySQL-Server verwalten mit phpMyAdmin

  • config ($auth_type = 'config'): Bei diesem Verfahren werden der Benutzername und das Passwort im Klartext in der config.inc.php gespeichert.
  • cookie ($auth_type = 'cookie'): Diese Option erlaubt die Authentifzierung und das Einloggen mittels Cookies.
  • http ($auth_type = 'http'): Bei diesem Verfahren kann man sich per HTTP-Authentifizierung einloggen.

Privilegien-Management

phpMyAdmin ist ein waschechtes Multi-User-Tool. Zum einen bietet es Super Usern volle Unterstützung beim Erzeugen und Verwalten eines mit maßgeschneiderten Zugriffs- bzw. Admin-Rechten ausgestatteten Anwenderkreises. Gleichzeitig steht dasselbe phpMy- Admin dann diesen Usern für deren Verwaltungsaufgaben zur Verfügung.

Ein typisches Anwendungsszenario dafür sind Internet-Provider, die ihren Kunden eine Verwaltungsoberfläche für Webdatenbanken bereitstellen wollen: Der Super User des Webhosters generiert die Webdatenbanken zusammen mit je einer Kennung und weist dieser Kennung volle Handlungsfreiheit für ihre Datenbank zu. Diese Freiheiten können extrem umfangreich sein, daher ist dieses Feature mit der gebotenen Vorsicht einzusetzen. Die einzelnen Web-Database-Admins können dann mittels phpMyAdmin auf Ebene der eigenen Tabellen, Felder und Daten nach Belieben schalten und walten. Das Anlegen und Löschen von Datenbanken und der Zugriff auf die Reviere der anderen User bleibt ihnen verwehrt.

Alle nötigen Mittel für die Verwaltung von Usern und Privilegien stellt phpMyAdmin unter dem Hauptmenüpunkt "Rechte" bereit. Dieser Link erscheint nur dann, wenn Ihr Benutzerkonto mit den entsprechenden Rechten versehen ist. Die Ansicht "Rechte" ermöglicht es dann, MySQL-Nutzerkonten und ihre Rechte auf Server-, Datenbank- und Tabellenniveau zu administrieren. Ein mächtiges Werkzeug, das mit Bedacht einzusetzen ist.

Sichern und Exportieren

Auch den Export und Import von Daten oder kompletten Datenbanken unterstützt das Tool. Die MySQL-Datenbank selbst ist mit einen Exportutility namens "mysqldump" ausgestattet. Die Nutzung dieses Dienstprogramms setzt allerdings den Zugriff auf die Kommandozeile des Datenbankservers voraus - ein Privileg, das man normalerweise nicht jedem gewähren will, da im schlimmsten Fall auf diese Weise durch Missbrauch oder Fehlbedienung auch die Daten zerstört werden können. Auch hier gilt es also, Umsicht walten zu lassen.

Datenbanken komfortabel im Griff

© Archiv

Im Exportsteuerungsfenster lässt sich festlegen, welche Informationen in der Exportdatei landen.

phpMyAdmin springt hier mit einem komfortablen Userinterface für Datenexport ein. Je nach Berechtigungsstufe ermöglicht es gezieltes Sichern von kompletten Servern, einzelnen Datenbanken oder ausgesuchten Tabellen.

In der Datenbank- und Tabellenansicht aktivieren Sie hierfür den Reiter "Exportieren". Wie Sie im Screenshot unten im Fenster links sehen, kann dabei zwischen einer ganzen Palette von Zielformaten gewählt werden - im Angebot sind: SQL, CSV, XML, Excel, LATEX und MS Word. Der Administrator muss jedoch berücksichtigen, dass für den Re-Import nur CSV- und SQL-Dateien in Frage kommen.

Wie man in der Abbildung unten erkennt, werden für die Erstellung von Dumps im Standardformat SQL zahlreiche Optionen angeboten. Mit ihnen lässt sich en detail steuern, welche Informationen in der Exportdatei landen. Markiert man beispielsweise die Auswahl "Struktur", so werden die entsprechenden SQL-CREATE-Kommandos generiert. Das Häkchen an der Option "Daten" erzeugt INSERT-Anweisungen für Datensätze.

Für den Download der Sicherungsdaten vom Datenbankserver zum sichernden Client bestehen zwei Optionen: In der direkten Variante (bei Sicherungsdateigrößen bis 2058 KByte) erfolgt der Transfer unmittelbar per HTTP. Im anderen Fall wird der Dump-File zunächst in einem Verzeichnis des Serverrechners abgelegt. Der eigentliche Download ist dann per FTP durchzuführen. Entsprechend spiegelverkehrt ist dann beim Re-Import der Daten zu verfahren.

Sollten sich beim HTTP-Upload Probleme mit der Ressourcenbegrenzung des Webservers ergeben, kann fast in jedem Fall durch das Heraufsetzen der Variablen ($cfg[,ExecTime-Limit'] in "config.inc.php" und das Anpassen der Parameter "upload_max_filesize", "post_max_size", "memory_limit" im Konfigurationsfile der PHP-Engine (php.ini) Abhilfe geschaffen werden.

Dokumentieren

Seit der phpMyAdmin Version 2.6.0 sind die erstellten SQL-Dumps im Übrigen ANSI-kompatibel. Das eröffnet eine bequeme Möglichkeit, MySQL-Daten auch in andere Datenbank-Systeme zu importieren.

Bildergalerie

Datenbanken komfortabel im Griff
Galerie
Datenbanken komfartabel im Griff

Links navigieren, rechts präsentieren/bearbeiten: Die Oberfläche ist übersichtlich und intuitiv.

Einen ebenfalls unter dem Security-Aspekt nicht zu unterschätzenden Stellenwert hat die Dokumentation von Datenbanken. Zur seriösen Datenbank-Verwaltung gehören unterschiedlich feinkörnige "Übersichtskarten" der am Server gespeicherten Informationsbestände.

Bei phpMyAdmin ist man auch in dieser Hinsicht gut aufgehoben. Ein ganz simples Mittel den Überblick zu behalten, birgt die Option "Druckansicht". Wenn phpMyAdmin ein Abfrageergebnis generiert, wird immer auch ein Link angezeigt über den ein drucker-freundlicher Auszug der Daten erstellt werden kann.

Darüber hinaus besteht für jede Datenbank die Möglichkeit, ein so genanntes Strukturverzeichnis zu generieren. Es enthält einen vollständigen Bericht über Tabellen und ihre Größe, die Anzahl der dort eingestellten Datensätze, zeigt Tabellenkommentare, Einstellzeitpunkte und eine Reihe weiterer Kenngrößen.

Die Erstellung einer Dokumentation in "Luxusausführung" wird durch die Integration der Freeware-Bibliothek "fpdf" () in phpMyAdmin ermöglicht. Die hierzu erforderlichen Vorarbeiten durch den Admin sind allerdings nicht ganz unerheblich.

Einrichten des SQL-Validierungsdienstes

Vor der Anbindung des SQL-Validierungsdienstes sollten Sie sich in jedem Fall Gedanken über die Sicherheit machen. Mimer Information Technology verspricht immerhin, dass der Service Datenbank-Tabellen- und Feldnamen durch Dummy-Bezeichnungen ersetzt und die eingesandten Abfragen lediglich zu statistischen Zwecken abspeichert.

Bei Mimers Validierungsdienst handelt es sich um einen typischen Webservice, der die SQL-Sequenzen in XML-Tags einbettet und per HTTP-Request verschickt, um "im Gegenzug" eine XML-embedded Antwort als HTTP-Response zurückzuerhalten. Um die lokale PHP-Engine Webservice-fähig zu machen sind einige Zusatzmodule zu installieren. Geben Sie dazu auf der Kommandozeile folgenden Befehl ein.

"pear install Net_Socket Net_URL
.HTTP_Request Mail_Mime Net_DIME
.SOAP"

Falls der Kommadointerpreter das Utility "pear" nicht findet, ist der Suchpfad entsprechend zu erweitern.

Im zweiten Schritt ist die Konfigurationsdatei "config. inc.php" um vier zusätzliche Variablen zu ergänzen, sie lauten wie im folgenden Text aufgeführt:

$cfg['SQLQuery']['Validate'] = TRUE;
$cfg['SQLValidator']['use'] = TRUE;
$cfg['SQLValidator']['username'] =
.'';
$cfg['SQLValidator']['password'] =
.'';

Mehr zum Thema

Youtube Sperre umgehen GEMA
Videos freischalten

So umgehen Sie die GEMA-Sperre bei Youtube. Was Sie dazu brauchen, und wie es am einfachsten geht.
Neue Fritzboxen unterstützen den AC-Standard.
WLAN-Geschwindigkeit verdoppeln

Mehr WLAN-Geschwindigkeit: Mit dem WLAN-Standard 802.11ac und den richtigen Geräten und Einstellungen verdoppeln Sie den Datendurchsatz.
Netflix auf dem TV
Programm in der Übersicht

Welche Filme und Serien gibt es bei Netflix eigentlich zu sehen? Was ist neu im Streaming-Angebot? Diese Antworten helfen weiter.
Netflix
Streaming

Preise, kompatible Geräte, Datenrate, Serien- und Filmangebot von Netflix: Wir beantworten die wichtigsten Fragen rund um den Streaming-Dienst.
E.T. – Der Außerirdische
Vorschau auf Film- und Serien-Highlights

Amazon Prime Instant Video lockt im Dezember 2016 mit Film-Highlights wie "E.T.", "Fast & Furious 7" und der Serie "Ku’damm 56​".