05.10.2013 Aufrufe

10 - ITwelzel.biz

10 - ITwelzel.biz

10 - ITwelzel.biz

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

entnehmen Sie bitte dem Handbuch<br />

und nennen den Benutzer “dbuser”.<br />

Kopieren Sie zunächst die Datei<br />

Linux/mysql/mysql-<br />

3_22_32-pc-linux-gnui686_tar.tar.gz<br />

ins Verzeichnis<br />

/usr/local/. Die folgenden<br />

Befehle entpacken diese Datei und<br />

installieren die notwendigen<br />

Programmteile in die richtigen Verzeichnisse.<br />

:> gunzip < mysql-3_22_32-pc-linux-gnu-i686_<br />

tar.tar.gz | tar xvf -<br />

:> ln -s mysql-3.22.32-pc-linux-gnu-i686 mysql<br />

:> cd mysql<br />

:> scripts/mysql_install_db<br />

:> cd ..<br />

:> chown dbuser.users mysql<br />

:> chown –R dbuser.users mysql/*<br />

Mit der Zeile ln -s mysql-<br />

3.22.32-pc-linux-gnu-i686<br />

mysql haben wir einen symbolischen<br />

Link auf das Verzeichnis mysql-<br />

3.22.32-pc-linux-gnu-i686<br />

angelegt, somit ist es einfacher, dorthin<br />

zu wechseln. Zum Schluß übertragen<br />

wir die File-Rechte an unseren<br />

eben erstellten Datenbank-User. Der<br />

Grundstein ist nun gelegt. Als nächstes<br />

müssen wir uns mit dem Fine<br />

Tuning beschäftigen.<br />

Datenbank vorbereiten<br />

Zunächst sorgen wir uns darum, daß<br />

wir die Datenbank nicht mehr manu-<br />

Ausgabe <strong>10</strong>/2000<br />

Tabelle 1<br />

ell starten und stoppen müssen, sondern<br />

daß dies beim Bootvorgang automatisch<br />

geschieht. Unter Linux können<br />

Sie dies problemlos über die verschiedenen<br />

Runlevels steuern.<br />

MySQL liefert das passendes Skript<br />

direkt mit. Mit dem Befehl cp<br />

support-files/mysql.<br />

server /etc/rc.d/mysql kopieren<br />

wir dieses Skript ins entsprechende<br />

Verzeichnis. Die Berechtigungen<br />

für dieses<br />

File muß<br />

nun mit<br />

chmod 744<br />

geändert<br />

werden.<br />

Wechseln<br />

wir also nun<br />

in das Verzeichnis<br />

/<br />

e t c /<br />

rc.d/rc2.d/ (Runlevel 2). Das<br />

Anlegen zweier symbolischer Links<br />

mit ln -s ../mysql K20mysql<br />

und ln -s ../mysql S20mysql<br />

sorgt dafür, daß beim Neustart des<br />

Servers die Datenbank sauber gestartet<br />

bzw. beendet wird.<br />

Um nicht bei jedem Aufruf der<br />

Datenbankprogramme in das Verzeichnis<br />

/usr/local/mysql<br />

wechseln zu müssen, können wir den<br />

Suchpfad um dieses Verzeichnis ergänzen.<br />

Rufen Sie mit vi /etc/<br />

profile die entsprechende Datei<br />

auf und fügen Sie an die letzte Zeile<br />

export PATH=/usr/local/<br />

mysql/bin/:$PATH an.<br />

Field Type Key Default<br />

Host char(60) PRI<br />

User char(16) PRI<br />

Password char(16)<br />

Select_priv enum(N,Y) N<br />

Insert_priv enum(N,Y) N<br />

Update enum(N,Y) N<br />

Delete_priv enum(N,Y) N<br />

Create_priv enum(N,Y) N<br />

Drop_priv enum(N,Y) N<br />

Reload_priv enum(N,Y) N<br />

Shutdown_priv enum(N,Y) N<br />

Process_priv enum(N,Y) N<br />

File_priv enum(N,Y) N<br />

Tab. 1: Aufbau der Tabelle user<br />

53<br />

<strong>10</strong><br />

Datenbanksicherheit<br />

Als nächstes kümmern wir uns um die<br />

Sicherheit unserer Datenbank, damit<br />

wir gewährleisten können, daß unsere<br />

Daten vor unbefugtem Verändern<br />

geschützt sind. Anders als z.B. bei<br />

Oracle ist die Security von MySQL<br />

nicht unmittelbar an einen Benutzernamen<br />

gekoppelt, sondern eine Kombination<br />

aus User, Datenbank und<br />

Host-Namen. Die entsprechenden<br />

Einträge finden Sie in den nebenstehenden<br />

Tabellen user, db und host<br />

innerhalb der Datenbank mysql.<br />

Der allgemeine Aufruf des SQL Editors<br />

lautet mysql –u User –<br />

pPasswort Datenbankname.<br />

Somit loggen Sie sich zunächst mit<br />

mysql –u root mysql in die<br />

Datenbank ein. Da root noch kein<br />

Passwort besitzt, müssen wir die<br />

Option Paßwort im Moment weglassen.<br />

Schauen wir uns als erstes den<br />

Aufbau der Tabelle user an (vgl.<br />

Tab.1).<br />

User-Tabelle<br />

In der User-Tabelle werden, wie der<br />

Name schon sagt, die Anwender und<br />

ihre entsprechenden Rechte angelegt.<br />

Sollte in den anderen Tabellen host<br />

oder db nichts Gegenteiliges stehen,<br />

gelten diese Rechte global für alle<br />

Datenbanken. Mit select * from<br />

user; lassen wir uns den Inhalt einmal<br />

anzeigen. Standardmäßig legt<br />

MySQL einen Benutzer root an, der<br />

Chef über alle Aktionen ist. Ebenso<br />

finden wir eine Wildcard im Feld<br />

User. Diese bedeutet nichts anderes,<br />

als daß jeder, der sich ohne Angabe<br />

eines Benutzernamens in die Datenbank<br />

einloggt, Leserechte auf alle<br />

Tabellen besitzt.<br />

Da wir nur privilegierte User auf unsere<br />

Daten lassen möchten, sollten<br />

wir diesen Mißstand mit dem Befehl<br />

delete from user where<br />

user = ‘; sofort beheben. Ebenso<br />

ändern wir das root-Paßwort von<br />

NULL nach - sagen wir - dbtest.<br />

Die Eingabe update user set<br />

password=password<br />

(‘dbtest‘) where user=’ root‘<br />

; erledigt dies. Mit dem Befehl flush<br />

Privileges; aktivieren wir die<br />

Neuerungen.

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!