Leitfaden für die
Entwicklung von Heavyweight-Clients mit dem JS-FCF – Anlegen
der Datenbank
Inhaltsverzeichnis
Vorbedingungen
MySQL
* Installation
des Datenbank-Systems
* Eine
Datenbank anlegen
* Rechte
an Benutzer vergeben
* Prüfen
auf korrekte Installation der Datenbank
* Einschränken
des Zugriffsrechtes auf den 'eigenen' Rechner
* Ausführen
der Datei mit den SQL-Kommandos für das Erstellen der
Datenbank-Tabellen
Weitere
Schritte und verwandte Dokumentation
Vorbedingungen
Betriebssystem
installiert ;-).
Name
der Datenbank, Name für den Benutzer der Datenbank und Passwort
festgelegt.
SQL-Datei
mit den Kommandos zum Erstellen der Datenbank-Tabellen
vorhanden;
diese Datei wird im Zuge der Entwicklung eines
Anwendungsprogramms erstellt oder mit einem fertigen
Anwendungsprogramm mitgeliefert.
Entscheidung
getroffen, ob der Zugriff auf die Datenbank von anderen Rechnern im
Netzwerk erlaubt ist oder nicht.
Anleitungen dazu sind bei einem
fertigen Anwendungsprogramm in dessen Installationsanleitung
dokumentiert.
▲
zum
Inhaltsverzeichnis
MySQL
Installation
des Datenbank-Systems
Eine
Datenbank anlegen
Rechte
an Benutzer vergeben
Prüfen
auf korrekte Installation der Datenbank
Einschränken
des Zugriffsrechtes auf den 'eigenen' Rechner
Ausführen
der Datei mit den SQL-Kommandos für das Erstellen der
Datenbank-Tabellen
Dank an:
Dieses
Dokument ist eine Übersetzung und Erweiterung von Teilen des
Artikels unter www.developer.com/java/data/article.php/3417381.
Ein
großes Dankeschön an den Richard G. Baldwin für seine
Mühe.
▲
zum
Inhaltsverzeichnis (MySQL)
▲
zum
Inhaltsverzeichnis (Dokument)
Installation
des Datenbank-Systems:
Die
Installationsanleitung finden Sie im Dokument MySQL
Datenbanksystem installieren.
Die
folgenden Anleitungen basieren darauf, dass Sie bei der Installation
kein Datenbank-Password für den User 'root' vergeben haben.
▲
zum
Inhaltsverzeichnis (MySQL)
▲
zum
Inhaltsverzeichnis (Dokument)
Eine
Datenbank anlegen
In
einem 'Terminal-Window' wird das Kommando mysql
–user=root mysql eingegeben.
mysql
ist eine spezielle Datenbank innerhalb von MySQL und hält die
internen Informationen des Datenbanksystems.
|

|
Als
Beispiel wird eine Datenbank mit dem Namen js_hsepp
angelegt. Ersetzen
Sie bitte js_hsepp
bei Ihren konkreten
Anweisungen durch den von Ihnen gewählten Namen der
Datenbank.
Innerhalb
des 'MySQL-Monitors' wird das Kommando CREATE
DATABASE js_hsepp; eingegeben. Bitte
beachten Sie den Strichpunkt (;)
am Ende des SQL-Kommandos; dieser ist für den MySQL-Monitor
das Zeichen, dass das Kommando abgeschlossen ist.
|

|
▲
zum
Inhaltsverzeichnis (MySQL)
▲
zum
Inhaltsverzeichnis (Dokument)
Rechte
an Benutzer vergeben
Der
Benutzer 'root' sollte nur für die Verwaltung des
Datenbank-Systems verwendet werden und nicht für
Geschäftsanwendungen.
Verwenden
Sie für Ihre konkrete Installation einen zum Namen der
Datenbank passenden Namen für den Benutzer (im Beispiel:
js_hsepp_user)
und dazu ein Passwort (im Beispiel: drowssap) Den
Namen für den Benutzer und das Password sollten Sie bei Ihren
Vorbereitungen festgelegt und dokumentiert haben.
Zugriffsrechte
und Passwort werden im MySQL-Monitor mit folgendem Kommando
vergeben: GRANT ALL ON
js_hsepp.*
TO 'js_hsepp_user'
IDENTIFIED BY 'drowssap';
Erklärung
einzelner Teile des SQL-Kommandos:
GRANT
ALL Der Benutzer
bekommt alle Rechte für die Manipulation der Datenbank. ALL
wurde im Hinblick auf die
Ausführung von Übungsbeispielen gewählt –
ist aber für den Betrieb von Datenbanken mit
sensiblen Daten zu umfassend. Eine
Auflistung aller Möglichkeiten würde den Rahmen dieses
Dokumentes sprengen; für den Einsatz der Datenbank
mit 'echten' Geschätsdaten wird empfohlen, eine Spezialisten
für Datenbanken zu Rate zu ziehen.
ON
js_hsepp.* Datenbank,
für die die Zugriffsrechte vergeben werden. Der Teil .*
bedeutet, dass die
Zugriffsrechte für alle Tabellen der Datenbank gelten.
TO
'js_hsepp_user' Benutzer
für den die Zugriffsrechte vergeben wurden. Die
Möglichkeiten des Zugriffsrechtes kann bei MySQL sehr fein
spezifiziert werden. Die Vergabe an einen Benutzer ohne
Einschränkung auf einen bestimmten Computer (festgelegt
durch die TCP/IP-Adresse) wurde gewählt, weil damit ein
Datenbank-Zugriff über das TCP/IP-Netzwerk uneingeschränkt
möglich ist. Das ist hilfreich für die Entwicklung
von Anwendungsprogrammen weil damit Fehler, die durch eine zu
starke Einschränkung der Zugriffsrechte auftreten könnten,
vermieden werden. Eine genauere Erklärung würde den
Umfang dieses Dokumentes sprengen; bei Interesse an diesem Thema
lesen Sie bitte in der Dokumentation von MySQL nach.
IDENTIFIED
BY 'drowssap' Passwort
für den Benutzer. Das Passwort kann frei gewählt
werden; in diesem Beispiel ist es die umgekehrte Buchstabenfolge
von 'password'.
|

|
▲
zum
Inhaltsverzeichnis (MySQL)
▲
zum
Inhaltsverzeichnis (Dokument)
Prüfen
auf korrekte Installation der Datenbank
Die
Zugriffsrechte für einen Benutzer werden in der
Datenbank-Tabelle user
eingetragen.
Ob
der gewählte Benutzer eingetragen wurde, kann mit folgendem
SQL-Kommando abgefragt werden:
SELECT
host, user, password FROM user WHERE user = ' js_hsepp_user ';
Der
MySQL-Monitor wird durch die Eingabe von quit
beendet.
|

|
Das
Einloggen als registrierter Benutzer in den MySQL-Monitor erfolgt
durch folgendes Kommando:
mysql
–host='127.0.0.1' –user=' js_hsepp_user '
–password=' drowsap '
js_hsepp
(in
einer Zeile geschrieben).
Als
Ergebnis wird wieder das 'Prompt' des MySQL-Monitors angezeigt.
Bitte
beachten: Zum Aufrufen des MySQL-Monitors ist die
TCP/IP-Adresse des Computers, auf dem der MySQL-Server läuft,
notwendig. Im
obigen Beispiel wurde die Adresse des 'localhost' verwendet.
|

|
Bitte
beachten: Die Berechtigung des MySQL-Datenbanksystem, das auf
dem anderen Computer läuft, muß zulassen, dass von
einer 'fremden' TCP/IP-Adresse auf die Datenbank zugegriffen wird .
Eine Anleitung für die Linux-Distribution UBUNTU
(getestet mit Version 9.04) finden Sie unter MySQL
Datenbanksystem installieren > Zugriff von anderen Computern im
Netzwerk erlauben (UBUNTU) .
Das
Einloggen auf ein MySQL-Datenbanksystem auf einem anderen Computer
erfolgt durch Eingabe der TCP/IP-Adresse des Computers, auf dem
das MySQL-Datenbanksystem gestartet ist. Hier ein
Beispiel :
mysql
–-host='192.168.0.100' –-user=' js_hsepp_user '
–-password=' drowsap '
js_hsepp
(in
einer Zeile geschrieben).
Als
Ergebnis wird wieder das 'Prompt' des MySQL-Monitors angezeigt.
|

|
Sicherheitshinweis
wenn Sie nicht wollen, dass das Passwort lesbar ist.
Durch
folgenden Aufruf
mysql
–-host='192.168.0.100' –-user=' js_hsepp_user '
–p js_hsepp
(in
einer Zeile geschrieben)
wird
das Passwort extra abgefragt und die Eingabe ist nicht
sichtbar.
|

|
▲
zum
Inhaltsverzeichnis (MySQL)
▲
zum
Inhaltsverzeichnis (Dokument)
Einschränken
des Zugriffsrechtes auf den 'eigenen' Rechner
Diese
Einstellung ist sinnvoll wenn die Datenbank im Echtbetrieb einer
Client-Server Anwendung verwendet wird.
Durch das Einschränken
des Zugriffs (das Ausführen von SQL-Kommandos) nur vom lokalen
Rechner (jener Rechner, auf dem das Datenbank-System läuft),
wird die Sicherheit der Daten gegen unerlaubten Zugriff und
Manipulation um ein Vielfaches erhöht.
Das
Ausführen von SQL-Kommandos ist dann nicht mehr von einem
anderen Rechner über das Netzwerk möglich.
Um Daten
durch SQL-Kommandos abfragen oder verändern zu können oder
gar die Definition von Datenbank-Tabellen zu ändern ist ein
direktes Arbeiten am Rechner mit dem Datenbank-System
notwendig.
Dieser Rechner kann aber durch mechanische Maßnahmen
geschützt sein (im 'Serverkammerls' eingesperrt) und der Zutritt
zum Raum nur einem ausgewählten Personenkreis erlaubt sein.
Die
Konfiguration erfolgt in der Datei '/etc/mysql/my.cnf'.
Zum
Editieren der Datei geben Sie in einem 'Terminal'-Fenster das
Kommando
sudo
gedit /etc/mysql/my.cnf
ein.
Dabei
haben die einzelnen Anweisungen folgende Bedeutung:
sudo
( s uper- u ser
do ): das
nachfolgende Kommando wird als Benutzer mit
Administrator-Funktion (Super-User) ausgeführt. Dieser
Teil ist nicht notwendig wenn Sie direkt als Benutzer 'root'
angemeldet sind.
gedit : ist
der Text-Editor mit der grafischen Benutzeroberfläche.
Wenn
Sie nicht direkt als 'root' angemeldet sind wird anschließend
die Eingabe des Passworts gefordert.
|

|
Suchen
Sie die Anweisung bind-address =
127.0.0.1
Der
Konfigurationsparameter weist das MySQL-Datenbanksystem an, nur
Befehle auszuführen die vom selben Computer kommen. Durch
das 'Auskommentieren' des Konfigurationsparameters wird die
Einschränkung aufgehoben und das MySQL-Datenbanksystem führt
auch Befehle aus, die auf anderen Computern eingegeben wurden und
über das TCP/IP-Netzwerk übertragen wurden.
Wenn
Sie nur den Zugriff vom 'lokalen' Rechner erlauben wollen (wie
z.B. im Echtbetrieb einer Client-Server-Anwendung) belassen Sie
die Anweisung so wie sie ist - bzw. entfernen das # zu
Beginn der Zeile wenn für Testzwecke der Zugriff von anderen
Rechnern erlaubt war.
Wenn
Sie den Zugriff von anderen Rechnern erlauben wollen, platzieren
Sie ein # zu
Beginn der Zeile – so wie in der Beispiel-Abbildung gezeigt.
Durch
Anklicken der Schaltfläche [ Speichern ]
wird die geänderte Datei gespeichert.
Anschließend
können Sie den Editor beenden und es wird wieder das
Terminal-Fenster sichtbar. Dort können Sie mit dem
Kommando
exit das
'Terminal'-Fenster schließen.
|

|
▲
zum
Inhaltsverzeichnis (MySQL)
▲
zum
Inhaltsverzeichnis (Dokument)
Ausführen
der Datei mit den SQL-Kommandos für das Erstellen der
Datenbank-Tabellen
Die
Datei mit den SQL-Kommandos wird mit den Dateien für das
Anwendungsprogramm ausgeliefert.
Das Verzeichnis mit der Datei und
der Name der Datei sind abhängig von der Verzeichnisstruktur der
Dateien für das Anwendungsprogramm und üblicherweise in der
Installationsanleitung für das Anwendungsprogramm
dokumentiert.
Für das folgende Beispiel wird der Dateiname
Create_Tables.txt
im
Verzeichnis /home/kg-admin/Öffentlich/jshsepp/DB_SCRIPTS
verwendet.
Das
Einloggen als registrierter Benutzer in den MySQL-Monitor erfolgt
in einem 'Terminal'-Window durch folgendes Kommando:
mysql
–host='127.0.0.1' –user=' js_hsepp_user '
–password=' drowsap '
js_hsepp
(in
einer Zeile geschrieben).
Dabei
sind js_hsepp_user ,
drowsap
und
js_hsepp
durch
jene Werte zu ersetzen, die im Abschnitt Eine
Datenbank anlegen für
den Benutzernamen, das Passwort und den Datenbanknamen gewählt
wurden.
Als
Ergebnis wird wieder das 'Prompt' des MySQL-Monitors angezeigt.
|

|
Innerhalb
des MySQL-Monitors wird das Kommando
source
directory/file_with_SQL_Commands ; eingegeben. Bitte
beachten Sie, dass das Kommando durch einen Strichpunkt (;)
abgeschlossen sein muss.
Dabei
sind directory/file_with_SQL_Commands
durch
den Verzeichnis- und den Datei-Namen jener Datei, die die
SQL-Kommandos für das Erstellen der Datenbank-Tabelle(n)
enthält, zu ersetzen. Im abgebildeten Beispiel ist
Verzeichnis- und Datei-Name
'/home/kg-admin/Öffentlich/jshsepp/DB_SCRIPTS/Create_Tables.txt'.
|

|
Jede
Ausführung eines SQL-Kommando der Datei wird durch eine
Meldung bestätigt.
Der
MySQL-Monitor wird durch die Eingabe von quit
beendet.
|

|
▲
zum
Inhaltsverzeichnis (MySQL)
▲
zum
Inhaltsverzeichnis (Dokument)
Weitere
Schritte und verwandte Dokumentation
▲
zum
Inhaltsverzeichnis