Webbasierte Adressdatenbank

Verwendung vom MySQL
Die Datenbank MySQL ist für Linux und privaten Einsatz kostenlos. Hier soll keine Installationsanleitung folgen, vielmehr gehen wir davon aus, daß die Datenbank bereits installiert und betriebsbereit ist. (In den meisten Linuxdistributionen ist die Datenbank enthalten). Die nachfolgenden Ausführungen sind für Linux gedacht und mit SuSE Linux 6.1 und MySQL 3.22.21 getestet.

Vorbereitungen für die Adressdatenbank
Zuerst müssen wir eine Datenbasis anlegen, dazu wechseln wir auf die Shell (z.B. bash), loggen uns als root ein. Danach erzeugen wir die Datenbasis adressbuch mit folgendem Befehl:

    mysqladmin create adressbuch
    

Um die Datenbasis verwenden zu können legen wir den Benutzer perl an. Dazu verbinden wir uns mit der Datenbasis mysql (da werden die Berechtigungen verwaltet) mit dem Befehl:

    mysql mysql
    

Wir erhalten einen Prompt mysql>. Dort können wir folgendes eingeben (man kann die Zeilen mit Return umbrechen, der Befehl wird mit einem abschliesenden Semikolon abgeschickt:

    mysql> INSERT INTO user (Host, User)
        -> VALUES ('localhost', 'perl'); 
    

Da ein SQL Server aber üblicherweise mehr als eine Datenbasis verwalten kann, müssen wir jetzt noch die Datenbasis adressbuch für den Benutzer perl mit den Rechten für SELECT, INSERT, UPDATE, DELETE, CREATE und DROP freigeben:

    mysql> INSERT INTO db (Host, DB, User, Select_priv, Insert_priv,
        -> Update_priv, Delete_priv, Create_priv, Drop_priv)
        -> VALUES ('localhost', 'adressbuch', 'perl',
        -> 'Y', 'Y', 'Y', 'Y', 'Y', 'Y'); 
    

Mit exit verlassen wir den Client mysql. Nun müssen wir MySQL dazu veranlassen die Rechteänderungen wirken zu lassen. Dazu lesen wir die Berechtigungen mit dem folgenden Befehl neu ein:

    mysqladmin reload
    

Zum Test können wir uns mit:

    mysql --user=perl adressbuch
    

einloggen. Mit exit verlassen wir den MySQL Client. Mit dem folgenden Befehl erhalten wir die Berechtigungen fur den Benutzer perl vom Host localhost für die Datenbank adressbuch:

    mysqlaccess localhost perl adressbuch
    

Wir erhalten in etwa folgende Ausgabe:

    Access-rights
    for USER 'perl', from HOST 'localhost', to DB 'adressbuch'
    	+-----------------+---+	+-----------------+---+
    	| Select_priv     | Y |	| Drop_priv       | Y |
    	| Insert_priv     | Y |	| Reload_priv     | N |
    	| Update_priv     | Y |	| Shutdown_priv   | N |
     	| Delete_priv     | Y |	| Process_priv    | N |
    	| Create_priv     | Y |	| File_priv       | N |
    	+-----------------+---+	+-----------------+---+
    BEWARE:	 Everybody can access your DB as user `perl' from host `localhost'
          :	 WITHOUT supplying a password.
          :	 Be very careful about it!!

    The following rules are used:
     db    : 'localhost','adressbuch','perl','Y','Y','Y','Y','Y','Y'
     host  : 'Not processed: host-field is not empty in db-table.'
     user  : 'localhost','perl','','N','N','N','N','N','N','N','N','N','N'
    

Damit sind alle Voraussetzungen erfüllt, um unsere Adressdatenbank mit MySQL nutzen zu können.

Literaturhinweise:

Zurück zum Anfang dieses Projekts.