Teil 4: MySQL mit PHP
- MySQL mit PHP
- Teil 4: MySQL mit PHP
An der Quelle MySQL AB, die Firma hinter MySQL, bietet selbst ebenfalls Tools zur Datenbankverwaltung an. Im Repertoire ist neben einer Migrations-Software (aktuell nur unter Windows) der MySQL Administrator zur Verwaltung und der MySQL Query Browser für SQL-Abfragen. Wie schon von MySQL gewohnt,...
An der Quelle
MySQL AB, die Firma hinter MySQL, bietet selbst ebenfalls Tools zur Datenbankverwaltung an. Im Repertoire ist neben einer Migrations-Software (aktuell nur unter Windows) der MySQL Administrator zur Verwaltung und der MySQL Query Browser für SQL-Abfragen. Wie schon von MySQL gewohnt, gibt es beide unter einer Open-Source-Lizenz, der GPL, und als kommerzielle Variante. Letztere sollte der Kunde wählen, wenn er die Administrationswerkzeuge in die eigene Software integrieren möchte. Verfügbar sind die Programme für Windows, Mac OS X und Linux in einem Bundle mit allen GUI Tools.

Der MySQL Administrator (www.mysql.de/products/tools/administrator/) bietet zwar auch die Verwaltung von Datenbanken und Tabellen über den Bereich Catalogs. Seine Hauptaufgabe sind aber die Überwachung des MySQL-Servers, das Backup und die Nutzerverwaltung. Für die Überwachung gibt es ein eigenes Health-Monitoring und eine Übersicht über die aktuellen Verbindungen. Beim Backup können Sie einzelne Datenbanken und darin auch einzelne Tabellen auswählen und über die Optionen sogar Einfluss auf den SQL-Code nehmen. Die Nutzerverwaltung schließlich geht deutlich schneller als mit phpMyAdmin, da die Rechte für einzelne Datenbanken in nur einer Übersicht vergeben werden können.
Kostenpflichtig
Neben den Werkzeugen von MySQL gibt es auch eine Menge anderer kommerzieller Alternativen zur MySQL-Verwaltung. Sehr einfach zu bedienen ist beispielsweise Navicat Version 8 (www.navicat.com). In der Oberfläche sind nicht nur die Tabellen, sondern auch Datenbank-Views, Stored Procedures und Reports versammelt. Mit dem Zeitplan lässt sich recht einfach ein Batchprogramm entwerfen und die Sicherung klappt auch auf Datenbankebene. Die Monitoring-Funktion ist nicht ganz so hübsch anzusehen wie die des MySQL-Administrator. Sie enthält allerdings trotzdem alle benötigten Informationen. Besonders umfangreich sind die Importmöglichkeiten: von der Dbase-Datei über Text-Dateien bis zu Accessdatenbanken reicht hier die Spanne.
Navicat gibt es ohne Zahlung nur als Testversion. Andere kommerzielle Hersteller bieten eine Kombination aus abgespeckter Freeware-Version und kostenpflichtiger Professional oder Enterprise-Variante. Dazu zählen beispielsweise der EMS SQL Manager (www.sqlmanager.net/de/products/mysql/manager) und SQLyog. Gerade Letzterer bietet in der Enterprise-Variante sehr viele Funktionen und unterstützt auch neuere MySQLFunktionen wie Views und Stored Procedures. Diese Funktionen stehen in den Menüs nur zur Verfügung, wenn Sie die entsprechende MySQL-Version verwenden. Außerdem gibt es eine dazu passende Monitoring-Lösung namens MONyog.
Eine Lösung aus deutschen Landen ist SQLFront, ursprünglich auch MySQL-Front genannt. Sie liegt mit zirka 25 Euro pro Lizenz deutlich günstiger als SQLyog im 40 Euro-Segment und Navicat bzw. EMS SQL Manager Bereich über 100 Euro.
Welche Alternative ist denn die beste?
MySQL-Verwaltung bedeutet nicht zwangsläufig phpMyAdmin. Einige der hier kurz vorgestellten Verwaltungswerkzeuge eignen sich für professionelle Zwecke sehr gut, da sie Zusatzfunktionen wie Monitoring bieten und mit hervorragender Bedienbarkeit glänzen. Ein Teil basiert dabei auf einer Webanwendung, die kommerziellen Lösungen sind dagegen normale Softwareprogramme.
Gerade beim Shared Hosting ist eine webbasierte Lösung allerdings in den allermeisten Fällen die einzige sinnvolle Option. Die Alternativen zu phpMyAdmin sind hier rar gesät. FlashMyAdmin und TurboDBAdmin bieten allerdings jeweils einen interessanten Ansatz mit den Technologien Flash und Ajax.
Universal-Zugriff
PHP rühmt sich mit vollem Recht, fast jede einigermaßen gebräuchliche Datenbank zu unterstützen. Leider kommt dieser Datenbank-Support einher mit äußerst unterschiedlichen Funktionsnamen. So baut mysql_connect() eine Verbindung zu einer MySQL-Datenbank auf, bei SQlite heißt die entsprechende Funktion sqlite_open(). Und während beispielsweise mysql_query() und mysqli_query() dasselbe tun, ist die Parameterreihenfolge unterschiedlich. Das sind Fallen, in die auch erfahrene Programmierer oft tappen.
Diesen Missstand zu beheben war eines der Hauptziele von PDO, PHP Data Objects. Dabei handelt es sich um eine PHP-Erweiterung, die einen einheitlichen Zugriff auf verschiedene Datenquellen ermöglicht. Dies wird erreicht, indem der Aufruf der datenbankspezifischen Funktionen via PDO gekapselt wird. Ansätze, dies mit PHP-Skripten alleine zu lösen, gibt es mehrere (etwa PEAR::DB, PEAR:: MDB2 und adoDB); PDO allerdings ist eine binäre PHP-Erweiterung und verspricht bessere Performance.
Die Liste der von PDO unterstützten Datenbanken ist lang und beinhaltet unter anderem die "Platzhirsche" MySQL, PostgreSQL und SQLite sowie auch Oracle, Microsoft SQL Server, Firebird, DB2 und ODBC. Für jeden dieser Datenbanktypen ist ein spezieller Treiber erforderlich, da PDO selbst nur die (datenbankunabhängige) Grundfunktionalität beinhaltet. Weitere Informationen rund um das Thema hält das Online-Handbuch unter https://php.net/pdo/ bereit.