PHPMyAdmin Einsatz von MySQL unter Windows 1 Einleitung PHPMyAdmin ist eine Web-basierte Schnittstelle zu MySQL, einer relationalen Datenbank, die ursprünglich für Linux konzipiert wurde. PHPMyAdmin ist kostenlos; es stellt ein Tool dar, das mit dem Browser (Internet Explorer) geöffnet wird. Es kann lokal oder auch beim Provider genutzt werden und dient dazu, Datenbank-Tabellen zu erzeugen oder zu pflegen. PHPMyAdmin ist selbst eine Sammlung von PHP-Skripten, das heißt, es ist vollständig in PHP geschrieben. Der Quellcode kann so von jedermann eingesehen werden. 1.1 PhpTriad Dies ist ein Installationsprogramm, mit dem man folgende Software installieren kann: o PHP - 4.0.5 o MySQL - 3.23.32 Versionen für Windows o Apache - 1.3.14 o PHPMyAdmin - 2.1.0 o Perl - nsPerl 5.005_03 Das Programm zur Installation heißt: phptriadsetup2-11.exe (10,8 MB). Allerdings ist heute (Stand: Juli 2003) PhpTriad nicht mehr ganz aktuell. Die Installation über PHPTriadsetup hat den Nachteil, dass der Apache-Server und Mysql einzeln als Programm gestartet werden müssen, sie werden nicht als Dienst in Windows 2000 bzw. Windows XP eingerichtet. Der Nachfolger (Sokkit) wird kostenpflichtig von einer Firma vertrieben. Um auf einem PC die Datenbank MySQL laufen zu lassen, ist es erforderlich, den Computer als Webserver zu konfigurieren. Dies geschieht über Apache (Apache Server). Mit einer Verbreitung von rund 50% ist der Apache-Webserver der weltweit meistverbreitete Webserver, da dieser extrem leistungsfähig und stabil ist. Vorteile des Apache: ⇒ gratis ⇒ Open Source ⇒ extrem leistungsfähig und stabil ⇒ wird laufend weiterentwickelt ⇒ für verschiedene Betriebssysteme ⇒ breite Konfigurationsmöglichkeiten 1 ⇒ modularer Aufbau 1.2 PHP PHP ist eine Skriptsprache, die direkt in HTML-Seiten eingebettet wird, d.h. der Autor schreibt PHP-Befehle zusammen mit HTML-Befehlen in eine Datei. Wird diese Datei von einem Betrachter angefordert, so werden diese PHP-Befehle von einer "Zusatzsoftware" des Webservers Schritt für Schritt ausgeführt und die Ergebnisse an den Betrachter weitergeleitet. Achtung: Der Webserver muss PHP-fähig sein. Standardmäßig funktionieren diese Befehle nicht.2 1 2 www.webmeister.ch : http://did.mat.uni-bayreuth.de/www2/v1.htm 1 PHPMyAdmin Einsatz von MySQL unter Windows Die Anwendung von PHP lässt sich so beschreiben: • Zusammenarbeit mit dem Webserver: z.B. als Modul fest eingebaut im Apache • request-response Prinzip:3 1. Client schickt Anfrage an den Webserver 2. Webserver reicht Anfrage an z.B. PHP weiter 3. PHP generiert Ausgabe (z.B. HTML-Code) 4. Webserver schickt Ausgabe an den Client 5. Webserver beendet die Verbindung zum Client Zweck des Einsatzes von PHP ist es, HTML-Seiten dynamisch zu erzeugen, d.h. das HTML entsteht beim Seitenabruf. Perl ist eine Interpreter-Skript-Sprache, die häufig zur Programmierung von CGI-(=common gateway interface) Anwendungen benutzt wird (nicht verwechseln mit: Pearl =Abkürzung für "Process and Experiment Automation Real Time Language" • problemorientierte Prozessorsprache) Konfiguration von WAMP( =Windows – Apache MySQL – PHP) siehe z. B.: http://netzadmin.patrick-schwarz.de/apache-wamp.htm ODBC-Zugriff zur Verbindung Access/MySQL: http://www.elektronikschule.de/~grupp/mysql/myodbc/ http://www.uni-giessen.de/hrz/software/mysql/access_mysql.html http://www.debacher.de/php_mysql/odbc.htm 1.3 Vorgehensweise zur Installation von PHPMYADMIN über Phptriadsetup: 1. Starten Sie das Installationsprogramm phptriadsetup2-11.exe 2. Bestätigen Sie mit Next Alle Dateien werden entpackt Anschließend haben Sie eine neue Programmgruppe Programs 3. Starten Sie zuerst 4. Starten Sie dann 5. Jetzt starten Sie 3 http://www.thinkphp.de/ 2 PHPMyAdmin 2 WAMP: Einsatz von MySQL unter Windows Installation von Apache, MySQL, PHP und PHPMyAdmin Mit der folgenden Anleitung wird beschrieben, wie Sie die neuen Versionen (Apache 2.0, MySQL 4.0) in Windows 2000 als Dienst installieren und aufeinander abstimmen. Wichtig: Hier ist sehr sorgfältiges Vorgehen erforderlich! Voraussetzung zum Installieren: Entpacker wie Winzip oder Winrar muss vorhanden sein! 2.1 Apache-Server installieren 1. Zunächst einen Ordner Install direkt auf C:\ anlegen. In diesen Ordner die Dateien zum Installieren hineinkopieren: 2. Apache installieren. Doppelklick auf Das erste Dialogfeld mit Next bestätigen 3. In diesem Dialogfeld werden die Lizenzvereinbarungen bestätigt hier anklicken und mit der Schaltfläche Next weitergehen. 4. Hier wird beschrieben, was der Apache Server ist und welche Bewandtnis es mit der Apache Software Foundation auf sich hat. Mit Next kommen Sie zum nächsten Dialogfeld. 3 PHPMyAdmin 5. Einsatz von MySQL unter Windows bei der Frage nach der Network-Domain: und dem Server-Namen 127.0.0.1 (=Localhost) eintragen (2x) Als Mail-Adresse irgendetwas eintragen, z. B. [email protected] Mit Next kommen Sie zum nächsten Dialogfeld. 6. hier geht es mit der Voreinstellung Typical weiter. Mit Next kommen Sie zum nächsten Dialogfeld. 7. Hier geht es um den Ordner, indem der Apache Server installiert werden soll. Es soll direkt von C:\ abzweigend ein Ordner eingerichtet werden, deshalb auf jeden Fall die Schaltfläche Change verwenden! Mit Next geht´s weiter. 8. Hier in der Ordnerhierarchie hochgehen, bis Sie im Stammverzeichnis auf Laufwerk C stehen (abweichend von der Abbildung nicht I, sondern C) Wenn nur C:\, eingestellt ist, wird ein Ordner C:\Apache angelegt! (dies weicht vom üblichen ab, sonst wird z.B. C:\Programme\Microsoft Office angezeigt, wenn der Ordner Microsoft Office von Programme abzweigt.) OK zum Bestätigen! 4 PHPMyAdmin Einsatz von MySQL unter Windows 9. Mit Next weiter. Das nächste Dialogfeld nur mit weiterschalten, dann beginnt die Installation. Nach dem Abschluss der Installation wird noch einmal mit bestätigt. Der Apache-Server wird automatisch gestartet, Kontrolle: Start, Einstellungen, Systemsteuerung, Verwaltung, Dienste zeigt Apache als gestarteten Dienst. Test: Im Internet Explorer als Adresse eintippen: http://localhost oder http://127.0.0.1 Apache zeigt ein Begrüßungsfenster: Der Apache “weiß” von sich aus nichts von PHP. Man muss ihm zuerst einmal durch die Konfigurationsdatei httpd.conf mitteilen, dass er das entsprechende Modul laden soll. Gehen Sie dazu so vor: Start, Programme, Apache Http-Server, Edit the Apache httpd.conf Configuration File, dann auf: httpd.conf Suchen Sie die Stelle AddType application/x-tar .tgz Fügen Sie davor folgende Zeilen ein und speichern Sie dann die Datei : GroßKleinschreibung beachten! LoadModule php4_module c:/php/sapi/php4apache2.dll AddType application/x-httpd-php .php4 .php .php3 .inc AddType application/x-httpd-php-source .phps 5 Wichtig! Groß- und Kleinschreibung beachten! PHPMyAdmin Einsatz von MySQL unter Windows 2.2 MYSQL entpacken und installieren: Die MYSQL-Zip-Datei muss zuerst in einen Setup-Ordner (z. B. MySQL-lnstall unterhalb des Install-Ordners- vorher anlegen) entpackt werden. Dann kann die Setup.exe gestartet werden. Nach diesem Welcome-Bildschirm geht es mit Next weiter. In diesem Dialogfeld gibt es nur einen Hinweis für den Fall, dass man die Dateien in ein Verzeichnis bringen will, welches nicht C:\mysql heißt . Auch hier geht es mit Next direkt weiter. Auch das folgende Dialogfeld (hier nicht abgebildet) wird mit Next weitergeschaltet. Hier müsste man nur etwas tun, wenn man nicht den Ordner C:\Mysql haben wollte. Belassen Sie es hier bei der Voreinstellung Typical. Mit Next geht es weiter. Anschließend folgt die Installation. MYSQL läuft nicht von selbst, deshalb muss der Dienst jetzt manuell gestartet werden: Start, Einstellungen, Systemsteuerung, Verwaltung, Dienste Dann MYSQL mit rechter Maustaste starten. Jetzt im Ordner C:\MYSQL\BIN die Datei WINMYSQLADMIN.exe starten. Beim ersten Start wird nach Password und Benutzer gefragt: 6 PHPMyAdmin User: root Einsatz von MySQL unter Windows Password: bfw Mit OK bestätigen! Unten rechts in der Startleiste muss die Ampel grün zeigen! Wenn Sie später noch einmal Einstelllungen im Programm kontrollieren müssen, dann geht dies mit Rechtsklick auf der Ampel, dann: Show me. Anschließend sehen Sie WinMySQLAdmin so: Anschließend nicht über das Symbol oben rechts schließen, sondern dort, wo die Ampel zu sehen ist, Rechtsklick, dann: Hide me (=verstecke mich). Dann bleibt das Programm geöffnet und ist wieder als Ampel-Symbol in der Statuszeile zu sehen. 2.3 PHP PHP muss nicht über eine Setup-Datei installiert werden, sondern lediglich entpackt werden, die Dateien sind dann schon fertig. Gehen Sie folgendermaßen vor: 7 PHPMyAdmin Einsatz von MySQL unter Windows Die PHP-ZIP-Datei direkt auf C:\ extrahieren. Dabei wird ein Ordner namens php-4.3.2Win32 angelegt. Benennen Sie diesen Ordner in PHP um und verschieben ihn so, dass er direkt von C:\ abzweigt. Es sind noch einige Schritte erforderlich, um PHP lauffähig zu machen: 1.) die Datei php4ts.dll aus dem PHP-Ordner in den Ordner C:\Winnt\System32 kopieren 2.) Im Ordner C:\PHP gibt es eine Datei php.ini-dist . Diese Datei in php.ini umbenennen! Datei öffnen und nach der Stelle doc_root = suchen . So ändern und speichern: Doc_root = C:\apache2\htdocs 3.) Diese Datei wird ebenfalls in den Ordner C:\Winnt\System32 kopiert. 2.4 PHP testen: Jetzt in den Ordner C:\Apache2\htdocs gehen, mit rechter Maustaste eine Datei (als neue Textdatei) mit dem Editor erzeugen: Info.Php In die Datei hineinschreiben: <?php phpinfo(); ?> Nach dem Speichern gucken, ob es eine Datei info.php.txt und eine info.php gibt. Die txtDatei ist die richtige! (zu erkennen an der Uhrzeit, später). Deshalb: info.php löschen und die info.php.txt umbenennen. Windows fragt, ob man es will, da die Datei möglicherweise unbrauchbar würde. Bestätigen! Wichtig: Jetzt über Start, Programme, Apache HTTP-Server: Einmal Apache stoppen und wieder starten! PHP testen: Im Internet Explorer die Datei aufrufen http://localhost/info.php (nicht über Doppelklick über den Windows Explorer! Wenn nur diese Ansicht erscheint, war es nicht richtig. PHP muss einen Begrüßungsbildschirm zeigen; 8 PHPMyAdmin Einsatz von MySQL unter Windows 2.5 PHPMyAdmin: Auch hier müssen nur die Dateien an die richtige Stelle gebracht werden, es ist keine Installation erforderlich. Zip-Datei in einen Ordner entpacken: C:\Apache2\htdocs\phpmyadmin Beim Entpacken entsteht wahrscheinlich zunächst ein Ordner mit der Bezeichnung phpMyAdmin-2.5.1 Dieser muss umbenannt/umkopiert werden, so dass die Dateien im Ordner PHPMyAdmin sind. Am günstigsten ist es, wenn Sie nun eine Verknüpfung im Desktop anlegen. Geben Sie als Adresse ein: http://localhost/phpmyadmin/index.php Dann auf Weiter klicken. Im nächsten Dialogfeld nur die Bezeichnung PHPMyAdmin eintragen! Wenn Sie jetzt PHPMyAdmin über die Verknüpfung starten, müsset auf dem Bildschirm sichtbar werden: 9 PHPMyAdmin Einsatz von MySQL unter Windows Sie sehen hier zwei Fehlermeldungen; damit wir ohne diese Meldungen weiterkommen, muss die Konfigurationsdatei eingestellt werden. Im Ordner PHPMyAdmin gibt es eine Datei config.inc.php. Wenn Sie die Datei mit dem Editor öffnen, dann sieht es sehr unübersichtlich aus: Um in dieser Datei besser editieren zu können, ist es sinnvoll, einen speziell für PHP geeigneten Freeware-Editor zu installieren. Kopieren Sie dazu das Programm pr2setup.exe in den install-Ordner und installieren Sie diese Software. (Alle Vorgaben mit Next bzw. OK bestätigen). Über Start, Programme können Sie dann das Programm PHP Coder starten und dort die Datei config.inc.php öffnen. Suchen Sie die Stelle: $cfg['PmaAbsoluteUri'] = ''; und fügen dort zwischen die Hochkommata ein : http://localhost/phpmyadmin Suchen Sie dann die Stelle: ['password'] = ' ' Zwischen die Hochkommata muss das Passwort aus der Datei My.ini eingetragen werden (was man im Programm WinmySQLAdmin.exe (Ampel) eingetragen hat). Ergebnis also z. B.: ['password'] = 'bfw' Die Datei config.inc.php muss dann natürlich gespeichert werden. PHPMyAdmin testen: Im Internet Explorer die Adresse aufrufen: http://localhost/phpmyadmin/index.php Oder über die vorher erstellte Verknüpfung starten! Wenn diese Fehlermeldung immer noch erscheint, dann muss der Benutzer und das Passwort über die MySQL-Eingabeaufforderung getestet werden. Ihre Konfigurationsdatei enthält Einstellungen (Benutzer "root" ohne Passwort), welche denen des MySQL-Stardardbenutzers entsprechen. Wird Ihr MySQL-Server mit diesen Einstellungen betrieben, so können Unbefugte leicht von außen auf ihn zugreifen. Sie sollten diese Sicherheitslücke unbedingt schließen! 10 PHPMyAdmin Einsatz von MySQL unter Windows Allerdings wird beim Aktualisieren von PHP gemeldet: Fehler MySQL meldet: Access denied for user: '[email protected]' (Using password: YES) Wechseln Sie zur MySQL-Eingabeaufforderung und starten Sie dort mysql. Schauen Sie dann zuerst in die systemeigene Datenbank mysql hinein, in der die Benutzernamen und Passwörter verwaltet werden: mysql> use mysql Database changed mysql> select user, password from user; +------+----------+ | user | password | +------+----------+ | root | | | root | | +------+----------+ 4 rows in set (0.00 sec) Sie sehen, dass der Benutzer root vorhanden ist (zweimal?), aber kein Passwort in die Systemdatenbank eingetragen ist. Deshalb vergeben wir das Passwort (bfw) neu über den entsprechenden MySQL-Befehl. Verlassen Sie dazu MySQL einmal und starten es mit dem folgenden Befehl audrücklich als root neu: C:\mysql\bin>mysql -u root mysql Geben Sie jetzt ein: mysql> set password for root=password("bfw"); Query OK, 0 rows affected (0.04 sec) mysql> select password, user from user; +------------------+------+ | password | user | +------------------+------+ | | root | | 7c9acda1225f6da8 | root | | | | | | | +------------------+------+ 4 rows in set (0.00 sec) mysql> Jetzt ist zu sehen, dass das vorher vergebene Passwort in der Datenbank verschlüsselt eingetragen worden ist. Nun ist noch erforderlich, alle Rechte auf den root-Benutzer zu übertragen. Geben Sie deshalb in MySQL ein: C:\mysql\bin>grant all privileges on *.* to root@localhost identified by "bfw" with grant option; Anschließend den MySQL –Dienst in der Systemsteuerung neu starten und dann PHPMyAdmin ebenfalls neu starten. Hoffentlich ohne Fehlermeldung! 11 PHPMyAdmin Einsatz von MySQL unter Windows Jetzt können Sie in PHPMyAdmin eine neue Datenbank mit MySQL erstellen. Als Übung soll eine kleine Datenbank namens Obst erstellt werden. Wenn PHPMyAdmin gestartet wird, sehen Sie auf dem Monitor: hier den Namen der neuen Datenbank einsetzen: Diese Datenbank soll die folgenden beiden Tabellen enthalten (der Einfachheit halber als Access-Tabellen abgebildet): PHPMyAdmin meldet, dass die Datenbank erzeugt wurde, wenn Sie auf Anlegen geklickt haben.. Sie enthält natürlich noch keine Tabellen. Jetzt können Sie eine Tabelle erstellen. Zunächst soll die Tabelle Kategorie mit nur zwei Feldern eingerichtet werden: Auf OK klicken, wenn fertig! 8. Jetzt können Sie die Felder der Tabelle einrichten: 12 PHPMyAdmin Einsatz von MySQL unter Windows hier klicken, falls fertig Sie sehen dann die Tabelle mit diesen Angaben. Klicken Sie auf Struktur: Jetzt zuerst das Häkchen anklicken, dann auf Einfügen: Die Datensätze können nun nacheinander eingefügt werden. Tragen Sie jeweils, klicken dann auf Neuen Datensatz anfügen und OK. Nachdem Sie auf OK geklickt haben, zeigt PHPMyAdmin auch den SQL-Befehl, den man ohne PHPMyAdmin benötigt hätte. 13 PHPMyAdmin Einsatz von MySQL unter Windows Nach dem dritten Datensatz auf zurück klicken! Klicken Sie auf Anzeigen, wenn Sie fertig sind. Man sieht die drei Datensätze der Tabelle Kategorie. Klicken Sie auch einmal auf Druckansicht (unten) um folgendes Ergebnis zu erzielen: Erstellen Sie dann die zweite Tabelle der Datenbank (Sorten) – am einfachsten Datenbank einmal auf und wieder zu machen: Entscheiden Sie selbst, wie Sie bei der Struktur vorgehen. Geben Sie in diese Tabelle die folgenden Daten ein: Im Windows Explorer sehen Sie die Ordner und Dateien, die MySQL angelegt hat. 14 PHPMyAdmin Einsatz von MySQL unter Windows Sie können jetzt über SQL die Daten abrufen. Zum Beispiel können Sie anzeigen lassen, welche Obstsorten welcher Kategorie zugehörig sind: Aufgabe: Führen Sie folgende Abfrage aus: select Sorten.Bezeichnung, Kategorie.Kategorie from Sorten, Kategorie where Kategorie.Kat_ID=Sorten.Kat_ID Aufgabe: Erstellen Sie in PHPMyAdmin die Datenbank edv.mdb . Diese Datenbank soll die folgenden Tabellen enthalten: Artikel Auftragsposition Artikel_Lieferanten 15 PHPMyAdmin Einsatz von MySQL unter Windows Aufträge Lieferanten 3 Einlesen von Tabellen Die vorher schon verwendete Excel-Arbeitsmappe Metallwaren.xls soll nun auch verwendet werden, um das Einlesen von Tabellen über PHPMyAdmin zu demonstrieren. Auch bei dieser Vorgehensweise müssen die Tabellen in Excel als csv-Datei abgespeichert werden, als einzelne Textdateien mit Begrenzern zwischen den Feldern (in der Regel Semikolon). Falls Sie schon vorher die Datenbank über den MySQL-Prompt definiert hatten, verwenden Sie jetzt am einfachsten einen anderen Namen für die Datenbank. Gehen Sie so vor, um die Datenbank Metallwaren über PHPMyAdmin zu erstellen: 1. Tabelle Kunde in Excel ohne Zeilenüberschriften (Feldnamen) speichern: (Speichern unter, 2. An erster Stelle muss die Datenbank Metallwaren in PHPMyAdmin erstellt werden, falls noch nicht vorhanden. 3. In PHPMyAdmin: Jetzt ist es erforderlich – wie bei SQL allgemein – zuerst die Tabellen von der Struktur her definiert werden. Zur Tabelle Kunde: 4. Definieren Sie die Felder jetzt so: 16 PHPMyAdmin Einsatz von MySQL unter Windows PHPMyAdmin meldet: Klicken Sie bei der Tabelle Kunde auf Eigenschaften. Dort werden die Attribute von der Struktur her angezeigt. Der Klick auf Eigenschaften führt zu: 5. Scrollen Sie nach unten, um dann Textdatei in Tabelle zu finden: unten (hier) anklicken! 6. Dann muss die Datei angegeben werden: Klicken Sie auf Durchsuchen und browsen sich zur Datei Kunde.csv durch. 7. auf Abschicken klicken! 17 PHPMyAdmin Einsatz von MySQL unter Windows PHPMyAdmin meldet den Erfolg: 6. dann auf klicken Zur Tabelle Waren: In Excel als csv-Datei so speichern: dabei ergibt sich folgendes Problem: im Editor, wenn sie als csv-Datei gespeichert ist: Dezimaltrennzeichen: Komma aber für SQL erforderlich: Punkt deshalb: erst in der Systemsteuerung die Währungstrennzeichen von Komma auf Punkt setzen Ergebnis in Excel: Tabelle Artikel in PHPMyAdmin erzeugen: 18 PHPMyAdmin Einsatz von MySQL unter Windows Datei einlesen (wie oben) Ergebnis dann: Tabelle Bestellung: Die beiden schon vorhandenen Bestellnummern sind 10 und 20, deshalb wird hier nicht auto_increment für das Primärschlüsselfeld genommen. Vorsicht beim Datum. Hier muss zuerst umformatiert werden, sonst ergibt sich folgendes Bild: Weil SQL das Datum in der Form JahrMonat-Tag verlangt, wird das Jahr 2011 erkannt, wenn das Datum in Excel in der Form: 11.01.03 vorliegt In Excel erst in der Form JJJJ.MM.TT (Format Zellen, Zahlen, benutzerdefiniert) speichern! Dann ist die Datei in PHPMyAdmin so zu sehen: Die Tabelle Bestelldetails sieht nach dem Umwandeln so aus: Übungen zur Datenbank Metallwaren: 1. Fügen Sie einen Datensatz zur Tabelle Artikel ein: 2. Ändern Sie den Verkaufspreis der Nägel auf 0.03 3. Exportieren Sie die Tabelle als csv-Datei für Excel (ohne „“ als Feldbegrenzer) 19 PHPMyAdmin Einsatz von MySQL unter Windows 4 ODBC-Treiber für MySQL einrichten Mit einem ODBC-Treiber (=Open database connectivity) können Sie Access als Frontend für MySQL-Datenbanken einrichten. Treiber dazu können von der MySQL-Website (www.mysql.com) heruntergeladen werden. Der Treiber in der NT-Version ist auch für Windows 2000 geeignet.4 Zum Installieren gehen Sie so vor:: Ordner einrichten, bzw. vorhandenes Install-Verzeichnis auf C:\ verwenden Doppelklick Installations-Datei In Winzip/Winrar: Ordner: Anschließend wechseln Sie in den Ordner mit den Installationsdateien. Datei Setup.exe starten (Im Ordner C:\Install\ODBC) Startbildschirm: Klicken Sie auf Continue Nun gelangen sie zur Treiberauswahl. Klicken Sie zuerst auf MySQL und anschließend auf OK Die Installationsroutine hat ihnen schon eine Datenquelle installiert ("sample MySQL") die allerdings auf keine reale Datenbank verweist. Sie können diese Datenquelle aus ihrem System entfernen. Hier klicken Sie zuerst auf die Schaltfläche Add . Daraufhin erscheint ein neues Dialogfeld 4 eine Anleitung zum Installieren finden Sie auch auf http://www.elektronikschule.de/~grupp/mysql/myodbc/ 20 PHPMyAdmin Einsatz von MySQL unter Windows Hier scrollen Sie nach unten, klicken dann auf MySQL und OK Tragen Sie hier z. B. folgendes ein: Hier sind die folgenden Parameter einstellbar: Windows DNS name: Hier können sie entsprechend ihren eigenen Wünschen einen Namen für die Datenquelle vergeben. Unter der gewählten Bezeichnung erreichen sie später im System (z.B. unter Access) diese Datenquelle. Als MySQL Host geben sie den Namen oder die IP-Nummer ihres MySQL-Datenbank-Servers an. MySQL Database name: Hier handelt es sich um den realen Namen der Datenbank auf dem MySQLServer. User: Hierbei handelt es sich um ihre Userkennung bei der Anmeldung am Datenbankserver. Beachten sie, dass es sich hierbei um die MySQL-Userkennung handelt. Password: Das zur Userkennung passende Passwort. (Kann hier leer bleiben, weil es sonst von jedermann lesbar ist) Port: Kann leer bleiben da der MySQL-Datenbankserver tatsächlich auf Port 3306 läuft. Wenn Sie mit OK bestätigen, ist das Setup beendet. Unter Start, Einstellungen, Systemsteuerung, Verwaltung kann dann Datenquellen (ODBC) aufgerufen werden, wenn Sie sich ansehen wollen, welche ODBC-Treiber vorhanden sind. 21 PHPMyAdmin Einsatz von MySQL unter Windows 4.1 Access als Frontend verwenden Starten Sie jetzt Access. Richten Sie im Datenbankprogramm eine leere Datenbank ein. Gehen Sie weiter so vor: Sie benötigen für die nachfolgenden Schritte eine Verbindung zu MySQL, Apache und MySQL muss also laufen. 1. Befehl: Datei, externe Daten, Tabellen verknüpfen 2. unten im Dialogfeld ODBC Databases() auswählen 3. jetzt oben im Register: Computerdatenquelle 4. Test auswählen (als Windows DNS Name vergeben) OK 5. Dann erscheint 22 PHPMyAdmin Einsatz von MySQL unter Windows Ihr System meldet sie nun am MySQL-Datenbankserver an und baut eine Verbindung zur konfigurierten Datenbank (im Beispiel: Die Datenbank Obst) auf. Nachdem dies erfolgt ist, erhalten sie eine Liste der verfügbaren Tabelle(n). Wählen sie die Tabelle(n) aus auf die sie zugreifen möchten und verlassen sie auch diesen Dialog mit der Schaltfläche "OK". Nach Verlassen dieses Dialogs haben sie im Access-DatenbankFenster die entsprechende Tabelle zur Verfügung. Sie ist mit dem Icon einer ODBCDatenquelle gekennzeichnet. Sie haben nun auf die zugehörigen Daten ganz normalen Zugriff wie auf lokale Tabellen auch. Insofern können Abfragen oder Formularfenster erstellt werden oder auch einfach mit Hilfe der Datenblattansicht zugegriffen werden. Aufgabe: Erstellen Sie in Access die SQL-Abfrage mit demselben Ergebnis wie in PHPMyAdmin: select Sorten.Bezeichnung, Kategorie.Kategorie from Sorten, Kategorie where Kategorie.Kat_ID=Sorten.Kat_ID 23 PHPMyAdmin Einsatz von MySQL unter Windows 5 Andere Benutzeroberflächen zu MYSQL Auf der MYSQL.com-Internetpräsenz werden zwei Oberflächen zu MYSQL angeboten, die zum Teil noch in der Entwicklung sind und laufend verbessert werden. Diese beiden Oberflächen werden jetzt noch kurz vorgestellt. A. MYSQLGUI Die Abkürzung GUI steht für Graphical User Interface, also grafische Benutzerschnittstelle. Aufgabe: Kopieren Sie die Datei mysqlgui-win32-static-1.7.5-2.zip und installieren Sie die Software. Um sie verwenden zu können, muss zuerst der Apache Server und dann MYSQL gestartet werden. Starten Sie anschließen MYSQLGUI. Das Programm wird so präsentiert: Wenn Sie mysql anklicken, dann werden die gefundenen Datenbanken angezeigt: Aufgabe: Öffnen Sie die Datenbank Obst! Im unteren Bildschirmabschnitt wird ein selectBefehl angeboten: Klicken Sie an, damit der Befehl oben zu sehen ist: Erst dann kommen Sie über oder F5 zum Ergebnis: 24 PHPMyAdmin Einsatz von MySQL unter Windows Aufgabe: Wählen Sie den Befehl Choose Tables, und lassen Sie sich dann die Tabelle Kategorie anzeigen. Aufgabe: Über den Befehl create soll eine neue Tabelle angelegt werden: CREATE TABLE lieferant (Lief_Nr TINYINT not null , Lief_Name VARCHAR (20) , PRIMARY KEY (Lief_Nr)) Sie sehen dann das Ergebnis: Aufgabe: In die Tabelle Lieferant sollen zwei Lieferanten aufgenommen werden: Lief_Nr Lief_Name 20 Bauer Hermessiepen 21 Obst & Frucht KG Der SQL-Befehl dazu (hier für den ersten Datensatz): Aufgabe: Lassen Sie sich dann die Daten anzeigen: 25 PHPMyAdmin Einsatz von MySQL unter Windows B. MY CC (MySQL Control Center) Das MySQL Control Center ist eine andere Oberfläche für die MySQL-Datenbank. Mit dieser Software kann man meines Erachtens besser arbeiten als mit der MYSQL-GUI. Die Arbeitsweise ist in einigen Punkten stark an den SQL Server von Microsoft angepasst. Aufgabe: Kopieren Sie die Zip-Datei mycc-0.8.6-alpha-win32.zip aus dem For_All-Ordner. Entpacken Sie die Daten und installieren Sie dann das Control Center. Für die Arbeit mit dieser Oberfläche gilt auch hier wieder, dass zunächst der Apache Server gestartet worden sein muss, und anschließend die MySQLDatenbank. Dann kann das Control-Center aktiviert werden. Zu Beginn ist die Verbindung zur Datenbank noch nicht aktiviert: Durch Doppelklick auf den Localhost und anschließendes Öffnen der Datenbank sehen Sie die Datenbank Obst und die Tabellen: Wenn eine Tabelle aktiviert ist, dann können Sie mit dem angezeigten Symbol und dem Befehl Return all Rows = Zeige alle Zeilen zu den Tabelleninhalten kommen: 26 PHPMyAdmin Einsatz von MySQL unter Windows Aufgabe: Machen Sie sich mit dieser Software näher vertraut. Testen Sie besonders die SQL-Befehlseingabe. In der folgenden Erklärung soll gezeigt werden, wie Sie einen Dump von lokal vorliegenden Datenbanktabellen auf eine Datenbank beim Provider machen können. Hierbei wird vorausgesetzt, dass der Provider PHPMyAdmin zur Administration der Datenbank zur Verfügung stellt. Das Verfahren ist in vergleichbarer Form aber auch mit lokal vorliegenden Frontends möglich, zum Beispiel mit MySQLFront. Der Einfachheit halber greifen wir gemeinsam auf eine Lycos-Datenbank zu, und jeder legt eine Datenbanktabelle mit seinem Namen an. Zunächst soll der Dump einer Datenbanktabelle durchgeführt werden. Starten Sie dazu PHPMyAdmin. Legen Sie eine Datenbank Verkauf und darin eine Tabelle ADR mit folgender Struktur an: In diese Tabelle soll die Datei Kunden.csv aus Excel eingelesen werden. Die Daten sind darin in folgender Form gespeichert: Kunden.csv (Excel) 27 PHPMyAdmin Einsatz von MySQL unter Windows Wählen Sie jetzt aus der Strukturansicht der Tabelle (unten) in PHPMyAdmin den Befehl Textdatei in Tabelle einfügen Klicken Sie dann auf die Schaltfläche und wählen die (vorher kopierte) Datei kunden.csv Klicken Sie jetzt auf die Schaltfläche Dann liest PHPMyAdmin die Zeilen der Tabelle ein und zeigt dann an: Wenn Sie auf Anzeigen klicken, sind die Daten sichtbar: ..... Aus dieser jetzt lokal vorhandenen Tabelle adr mit 63 Adressen soll nun ein sogenannter Dump gemacht werden. 28 PHPMyAdmin Einsatz von MySQL unter Windows Klicken Sie dazu auf den Befehl Exportieren Jetzt sehen Sie: Wähelen Sie dort Struktur und Daten PHPMyAdmin erzeugt folgende Daten: Datenbank verkauf - Tabelle adr auf localhost # phpMyAdmin MySQL-Dump # version 2.3.0 # http://phpwizard.net/phpMyAdmin/ # http://www.phpmyadmin.net/ (download page) # # Host: localhost # Erstellungszeit: 12. März 2003 um 17:20 # Server Version: 3.23.32 # PHP-Version: 4.0.5 # Datenbank: `verkauf` # -------------------------------------------------------## Tabellenstruktur für Tabelle `adr` # CREATE TABLE adr ( knr smallint(6) NOT NULL default '0', vorname varchar(20) default NULL, name varchar(20) default NULL, strasse varchar(30) default NULL, nr smallint(6) default NULL, plz varchar(5) default NULL, ort varchar(25) default NULL, telefon varchar(12) default NULL, 29 PHPMyAdmin Einsatz von MySQL unter Windows PRIMARY KEY (knr) ) TYPE=MyISAM; # # Daten für Tabelle `adr` # INSERT INTO adr VALUES (1, 'Heinrich', 'Schmidtler', 'Hans-Strenkel-Weg', 25, '84569', 'Willingen', '035686259'); INSERT INTO adr VALUES (2, 'Ralf', 'Ahrens', 'Krogbuschweg', 11, '84570', 'Wedelingen', '0357-62847'); INSERT INTO adr VALUES (3, 'Rainer', 'Ahlgrin', 'Landstraße', 33, '84571', 'Sollbach', '0358-52688'); INSERT INTO adr VALUES (4, 'Roswita', 'Bikelund', 'Schwarzenbecker Weg', 29, '84569', 'Willingen', '035654317'); ……………… INSERT INTO adr VALUES (5, 'Hans-Josef', 'Doberens', 'Ellerbreite', 10, '84570', 'Wedelingen', '0357-52186'); Dies sind die kompletten Befehle, die gebraucht worden wären, wenn wir die Tabelle über SQL erzeugt hätten und anschließend jeden einzelnenen Datensatz über insert into … eingefügt hätten. Man kann diese SQL-Befehlszeilen in die Zwischenablage kopieren und weiterverwenden; aber es ist auch möglich, eine Textdatei zu erzeugen. Aufgabe: Wählen Sie wieder Exportieren und stellen dort Struktur und Daten ein, und wählen Sie dann anschließend : Senden Wir können uns damit gewissermaßen die Datei lokal „senden“, also speichern. Zum Übertragen der Daten an den Provider gehen Sie so vor: Rufen Sie in der Adresszeile des Browsers die folgende Adresse auf: http://www.tripod.lycos.de/myaccount Dann wird der Account angezeigt: 30 PHPMyAdmin Einsatz von MySQL unter Windows Scrollen Sie herunter, bis zu Klicken Sie hier auf MySQL Datenbank administrieren Sie sehen dann die PHPMyAdmin-Version des providers: Hier können Sie jetzt entweder die Datei einlesen: Mit OK bestätigen! Die andere Möglichkeit bestünde darin, die per Dump erzeugten Befehle wieder in das Fenster SQL-Befehle einzufügen. Der Provider zeigt dann an: 31 PHPMyAdmin Einsatz von MySQL unter Windows Aufgabe: Schauen Sie nach, ob die Daten alle vorhanden sind. Aufgabe: Lesen Sie die Datei blumenliste.csv in PHPMyAdmin ein. Die erste Zeile der Datei zeigt folgende Daten (hier zweizeilig wiedergegeben): 1 bl-2859 Rhododendron catawbiense Rhododendron Lilafarbene Blüten mit mittelfrüher Blütenzeit und dunkelgrünem Laub. Besonders winterhart. 4 3,59 Dem können die folgenden Felder entsprechen: ID Art_Nr Name Art Beschreibung Packung Preis Dazu müssen Sie die Felder erst in PHPmyAdmin festlegen. Verwenden Sie geeignete Datentypen. Die Tabelle soll in der bereits verwendeten Datenbank Verkauf erstellt werden. Der SQL-Befehl zum Erzeugen der Tabelle (Sie können die Tabelle in PHPmyAdmin natürlich auch wie gewohnt anlegen): CREATE TABLE `Blumenliste` ( `ID` SMALLINT NOT NULL , `Art_Nr` VARCHAR( 10 ) , `Name` VARCHAR( 30 ) , `Beschreibung` VARCHAR( 50 ) , `Packung` TINYINT, `Preis` DECIMAL( 5, 2 ) , PRIMARY KEY ( `ID` ) ) In PHPmyAdmin sehen Sie dann die Daten: Aufgabe: Erzeugen Sie jetzt einen Dump aus dieser Datei und übertragen Sie die Tabelle an einen Provider. 32 PHPMyAdmin Einsatz von MySQL unter Windows Der Dump sieht so aus: Datenbank verkauf - Tabelle blumenliste auf localhost # phpMyAdmin MySQL-Dump # version 2.3.0 # http://phpwizard.net/phpMyAdmin/ # http://www.phpmyadmin.net/ (download page) # # Host: localhost # Erstellungszeit: 26. März 2003 um 21:47 # Server Version: 3.23.54 # PHP-Version: 4.1.2 # Datenbank: `verkauf` # -------------------------------------------------------# # Tabellenstruktur für Tabelle `blumenliste` # CREATE TABLE blumenliste ( ID smallint(6) NOT NULL default '0', Art_Nr varchar(10) default NULL, Name varchar(30) default NULL, Beschreibung varchar(50) default NULL, Packung tinyint(4) default NULL, Preis decimal(5,2) default NULL, PRIMARY KEY (ID) ) TYPE=MyISAM; # Daten für Tabelle `blumenliste` INSERT INTO blumenliste VALUES (1, 'bl-2859', 'Rhododendron catawbiense', 'Rhododendron', 0, '4.00'); INSERT INTO blumenliste VALUES (2, 'bl-2860', 'Rhododendron Roseum Elegans', 'Rhododendron', 0, '4.00'); INSERT INTO blumenliste VALUES (3, 'bl-2861', 'Rhododendron Cunningham´s Whit', 'Rhododendron', 0, '6.00'); ….. Mit diesem Link gelangen Sie auf den Webserver von Herrn Danne: http://danne.dyndns.info/testdb/phpmyadmin/index.php Dort können Sie dann über PHPMyAdmin die Datei übertragen. Achtung: Jeder sollte hier einen anderen Tabellennamen verwenden, da wir uns in einer Datenbank befinden. Aufgabe: Verfahren Sie entsprechend noch (Schritte S. 22-23) mit der Datei unternehmen.csv 33