VOICE-Homepage: http://de.os2voice.org | Februar 2004 Inhaltsverzeichnis < Vorherige Seite | Nächste Seite > Artikelverzeichnis editor@os2voice.org

## Auf gute Zusammenarbeit: MySQL und OS/2
Teil 1: Installation von MySQL

Von Wolfgang Draxler © Februar 2004

### Einführung und Entstehung des Artikels

Datenbanken interessieren mich sehr. Nur leider gibt es relativ wenig OS/2-bezogene Informationen zu diesem Thema. Daher habe ich angefangen, mit Hilfe von Thomas Klein diese Informationen zu sammeln und zusammenzuschreiben. Das Ergebnis ist mein erster Artikel für VOICE.

### Aufbau der Artikel

Ich werde die Artikel aufteilen, damit das Ganze nicht zu lange wird. Mein Ziel ist es zu erklären, wie die Anbindung von REXX an MySQL funktioniert. Die ersten Teile werden sich mit der Installation und Anpassung von MySQL beschäftigen, danach werde ich auf den REXX-Treiber eingehen und zum Schluß auf REXX-Datenbank-Programmierung. Für die Programmierung in REXX würde ich Sie bitten, auch die Artikel von Thomas Klein durchzulesen. Ich werde mich bemühen, nur Befehle und Funktionen von REXX zu verwenden, die auch schon in diesen Artikeln beschrieben worden sind.

### Prinzipieller Aufbau der Datenbank

MySQL ist eine Client-Server-Datenbank. Damit meine ich, daß Datenbank-Verwaltung und Anwendungen getrennt ablaufen. Die Anwendung (also der Client; z.B. das Programm »Console«) spricht mit MySQL (also dem Server) über TCP/IP. MySQL verwendet den Port 3306. Dadurch können Server und Client auf zwei verschiedenen Computer laufen.

MySQL versteht SQL (Structured Query Language) und hat auch eigene Erweiterung eingebaut. Aber mehr dazu später. Als erstes wird die Installation behandelt.

### Installation der Datenbank

Alle allgemeinen Informationen und auch gute Dokumentation findet man auf den folgenden Seiten:

http://www.mysql.com/ (englischsprachig)

http://www.mysql.de/ (deutschsprachig)

Yahoo-Diskussionsgruppe: http://groups.yahoo.com/group/mysql2/

Wenn Sie in eine Buchhandlung gehen, werden Sie dort sehr viele Bücher über mySQL finden. Die meisten Bücher sind zwar für Windows und Linux, aber die Datenbank-Funktionen sind identisch und können unter OS/2 verwendet werden. Sie sollten nur darauf achten, daß die Versionen übereinstimmen.

Für OS/2 direkt gibt es leider relativ wenig gedruckte Literatur. Im Internet sieht es besser aus, z.B. bei http://www.netlabs.org/mysql/ und einer recht guten Internetseite von Yuri Dario http://os2power.dnsalias.com/yuri/mysql2/index.html.

Auf dieser Seite bekommen Sie auch die aktuelle OS/2-Version 3.23.50 build 1 als WarpIN-Paket. Momentan wird an Version 4 gearbeitet. Diese ist aber noch nicht fertig und steht daher noch nicht zum Herunterladen zur Verfügung.

Wenn Sie nun die Datei `mysql-3-23-50-b1.wpi` (Größe ca 2MB) heruntergeladen haben, dann sollten Sie auch die Dokumentationsdatei `mysql-3-23-50-pdf.wpi` herunterladen. Die Installation mit WarpIN ist relativ einfach. Sie rufen sie durch Doppelklick auf das WarpIN-Paket `mysql-3-23-50-b1.wpi` auf.

Nun klicken Sie bitte auf »Next«.

Wenn Sie den gesamten Text gelesen haben, dann klicken Sie wieder auf »Next«.

Diesen Text sollten Sie auch genau lesen, und wenn Sie damit einverstanden sind, dann klicken Sie auf »I agree«.

Nun geben Sie einen Installationspfad an. Wenn Sie die Datenbank komplett neu installieren, dann sollten Sie das Paket »Database installation scripts« auch anklicken. Damit wird das Installations-Skript gleich gestartet.

Nun können Sie wieder auf »Next« klicken.

Wenn Sie ein neues Verzeichnis für die Installation ausgewählt haben, dann erscheint folgender Dialog:

Bestätigen Sie den Dialog mit »Yes« bzw. »Ja«.

Nun klicken Sie auf »Install«.

Vor der Installation wird nur noch dieser Dialog angezeigt. Klicken Sie nun noch »Yes« oder »Ja«.

Nach der Installation erfolgt die Bestätigung, daß alles installiert worden ist.

Schließen Sie diese Meldung mit »OK«.

Hinweis: Wie schon beschrieben verwendet MySQL TCP/IP (und hier standardmäßig den Port 3306). Daher sollten Sie die Firewall Ihres Systems bzw. Ihrer Systeme dementsprechend adaptieren.

Nun finden Sie auf der WPS ein neues Ordner-Objekt mit dem Namen »mysql 3.25.50«. Dieser Ordner enthät folgende Objekte:

Console: Mit diesem textbasierenden Programm werden Sie wahrscheinlich am meisten arbeiten, denn es bietet eine relativ einfache Schnittstelle zu MySQL.

Start server: Mit diesem Objekt starten Sie den Datenbank-Server. Im Prinzip wird nichts anderes gemacht, als das Programm `»<installationspfad>\BIN\MYSQLD.EXE«` zu starten. Sie können dieses Objekt natürlich in den Ordner »Systemstart« kopieren. Damit würde der Datenbank-Server gleich nach dem Systemstart aktiv sein.

Shutdown server: Damit wird der Datenbank-Server heruntergefahren und alle offene Verbindungen zu MySQL werden beendet. Sie sollten dabei immer beachten, daß es noch Client-Programme geben könnte, die eine Verbindung zum Server haben. Diese Programme erhalten dann bei einem Aufruf von den MySQL-APIs eine Fehlermeldung. Wie die Programme auf so etwas reagieren, ist sehr unterschiedlich. Es ist besser, alle Client-Programme zu schließen und erst dann den Server zu herunterzufahren.

Readme first: Diese Datei sollten Sie auch unbedingt lesen.

manual.pdf: Beinhaltet diverse Informationen (Funktionen, Parameter usw.) über die Datenbank.

Nun starten Sie den Server mit dem Objekt »Start server«. Es erscheint das Fenster:

Der Server ist jetzt aktiv und betriebsbereit.

Ich möchte gleich darauf hinweisen, daß der Datenbank-Server, wie er jetzt installiert ist, zugriffstechnisch sehr unsicher ist, denn der Root-User hat kein Paßwort und wenn Sie eine ständige Internetverbindung haben, dann ist sie auch von außerhalb sichtbar. Deswegen sollten Sie auch die Firewall dementsprechend einstellen. Informationen über das Einstellen des Root-Paßwortes finden Sie am Ende des Artikels.

### Die Console

Bevor wir mit den Änderungen anfangen, schauen wir einmal nach, ob der Datenbank-Server wirklich funktioniert. Dies können wir am besten mit dem Objekt »Console«. Doppelklicken Sie nun auf dieses Objekt und es müßte folgendes Fenster erscheinen:

Wie in dem Text beschrieben können Sie mit »help« oder »\h« die Hilfe aufrufen. Diese Hilfe beschreibt nur die Befehle der Console und nicht die des Datenbank-Servers.

Hinweis: Man kann das Programm auch in einem OS/2- bzw. eCS-Fenster starten. Das Programm findet man unter `»<installationspfad>\BIN\MYSQL.EXE«`. Wie bei allen MySQL-Programmen können Sie sich mit dem Parameter »`-h`« eine kurze Hilfe zum Programm anschauen. Da diese sehr lang ist, sollten Sie immer »`| more`« hinzufügen. Damit wird die Hilfe seitenweise angezeigt.

In der Console können Sie nun Befehle eingeben. Probieren Sie einmal »`show databases;`« aus.

Als Ergebnis erhalten Sie nun:

>     mysql> show databases;
>     +----------+
>     | Database |
>     +----------+
>     | mysql    |
>     | test     |
>     +----------+
>     2 rows in set (0.02 sec)

Wie Sie sehen, werden mit diesem Befehl die Namen der Datenbanken angezeigt. Die angezeigten Datenbanken werden von der Installationsroutine erzeugt.

Die Datenbank »mysql« ist sehr wichtig, denn sie wird vom Datenbank-Server benötigt. Sie sollten diese Datenbank nie löschen oder umbenennen.

Wie Sie vielleicht bemerkt haben, steht hinter dem Befehl ein Semikolon. Das ist wichtig. Damit teilt man der Console mit, daß der eingegebene Befehl komplett ist und nun an die Datenbanken geschickt werden soll. Man kann die Befehle nämlich auch über mehrere Zeilen eintippen.

Probieren Sie folgendes: Tippen Sie »`Show`« ein und drücken Sie die Eingabetaste. Nun erscheint eine neue Eingabeaufforderung »->« in der nächsten Zeile. Dort tippen Sie »Databases« ein und drücken wieder die Eingabetaste. Wie vorher entsteht wieder eine Eingabeaufforderung »->« und dort tippen Sie » Eingabetaste. Nun wird der Befehl an die Datenbank geschickt, und als Ergebnis erhalten Sie wieder die Liste der Datenbanken:

>     mysql> show
>     -> databases
>     -> ;
>     +----------+
>     | Database |
>     +----------+
>     | mysql    |
>     | test     |
>     +----------+
>     2 rows in set (0.01 sec)

Um nun die Console zu beenden, geben Sie »`\q`« gefolgt von der Eingabetaste ein.

### ADMIN- bzw. Root-Passwort

Bevor ich den Artikel beende, werde ich noch mein Versprechen bezüglich des Admin-Paßwortes einlösen.

Der Administrator wird in MySQL (unter OS/2) als »Root«-User bezeichnet.

Im Unterverzeichnis `BIN` der Datenbank finden Sie das Programm »mysqladmin«. (Bei mir ist dies im Verzeichnis »`F:\os2_prog\datenbank\mysql\bin`«.)

Am besten öffnen Sie ein OS/2- bzw. eCS-Fenster und wechseln mit »cd« in das Verzeichnis der Datenbank. (Also z.B. in »`F:\os2_prog\datenbank\mysql\bin`«.) Nun geben Sie den folgenden Befehl ein (statt »`pw`« geben Sie natürlich Ihr eigenes Paßwort ein):

>     [F:\os2_prog\datenbank\mysql\bin]mysqladmin password pw

Ab nun hat der Root-User das neue Paßwort »`pw`«.

Wenn Sie nun wieder Console starten, dann werden Sie wahrscheinlich die Fehlermeldung »`ERROR 1045: Access denied for user: 'root@localhost' (Using password: NO)`« erhalten. Das Problem liegt darin, daß die Console den Root-User verwendet, aber nicht nach dessen Paßwort fragt. Dies kann man relativ leicht anpassen:

Öffnen Sie den MySQL-WPS-Ordner. In den Einstellungen des Objekts »Console« ändern Sie den Inhalt des Felds »Parameter«, indem Sie dort »-p« eingeben. Schließen Sie nun die Einstellungen und starten dann die Console. Nun erscheint der Text »`Enter password`«. Dort geben Sie nun Ihr oben ausgewähltes Paßwort ein. (In unseren Beispiel »pw«.) Nun sollten Sie wieder die normale MySQL-Eingabeaufforderung sehen. Wie schon oben beschrieben können Sie mit »`\q`« die Console beenden.

Und damit endet auch mein erster Artikel. Im nächsten Teil werde ich beschreiben, wie man mehrere User in MySQL anlegt bzw. wie man die Datenbank nach seinen Bedürfnissen einstellt.

Daten und Quellen: MySQL: http://www.mysql.de MySQL für OS/2 (Yuri Dario): http://os2power.dnsalias.com/index.html MySQL für OS/2 (Netlabs): http://mysql.netlabs.org

Wolfgang Draxler lebt mit seiner Ehefrau Yvonne in Wien. Er ist für eine Softwareentwicklungs- und Beratungsfirma im Bereich der Organisations- und Datenbankprogrammierung tätig. Privat arbeitet er unter anderem an der Weiterentwicklung von Sibyl für OS/2, einer Delphi-ähnlichen Programmiersprache.

Artikelverzeichnis
editor@os2voice.org
< Vorherige Seite | Inhaltsverzeichnis | Nächste Seite >
VOICE-Homepage: http://de.os2voice.org