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.