MySQL Installation MySQL-Terminal Delphi-Client PHP-Client Python-Client
Pfad: Startseite / Fächer / Informatik / Datenbanken / MySQL / Installation
Autor: mk
31.12.2006 13:36:02
676
Installation

Schnelleinstieg mit php und mysql

InnoDB zu aktivieren

MySQL verwendet standardmäßig die MyIsam-Engine für die Tabellen. Manche für Schulzwecke sinnvollen Erweiterungen können aber nur mir der InnoDB-Engine benutzt werden. Daher empfiehlt es sich, durch Verändern der Datei my.cnf in xampp/mysql/bin InnoDB zu aktivieren.

[mysqld]
....
#folgende zwei Zeilen hinzufügen
default-table-type=innodb
default-character-set=utf8

....
#skip-innodb
#Uncomment the following if you are using InnoDB tables
innodb_data_home_dir = C:/Programme/xampp/mysql/data/
innodb_data_file_path = ibdata1:10M:autoextend
innodb_log_group_home_dir = C:/Programme/xampp/mysql/data/
innodb_log_arch_dir = C:/Programme/xampp/mysql/data/
# You can set .._buffer_pool_size up to 50 - 80 %
# of RAM but beware of setting memory usage too high
set-variable = innodb_buffer_pool_size=16M
set-variable = innodb_additional_mem_pool_size=2M
# Set .._log_file_size to 25 % of buffer pool size
set-variable = innodb_log_file_size=5M
set-variable = innodb_log_buffer_size=8M
innodb_flush_log_at_trx_commit=1
set-variable = innodb_lock_wait_timeout=50
....

Sicherheit

Nach der Installation mit Xampp ist der MySQL-Server offen wie ein Scheunentor. Mit der sogenannten Sicherheitsconsole (Aufruf mit http://127.0.0.1/security) lässt sich z.B. leicht 'root' ein Passwort geben.

Benutzerverwaltung

SQL, Ulrike Böttcher, Peter Teich, Herdt-Verlag, 2.Auflage, Seite 144:

MySQL verwaltet die Benutzernamen in einer Tabelle mit dem Namen user in der Datenbank mysql. Um einen neuen Benutzer anzulegen, wird ein neuer Datensatz in dieser Tabelle erstellt. Sie erledigen diese Aufgabe mit der SQL-Anweisung INSERT. Auf die Datenbank mysql haben nur Benutzer mit allen Rechten Zugriff, in der Regel daher nur der Datenbankadministrator.
Beim Anlegen des Benutzers müssen Sie neben Benutzernamen und Passwort zusätzlich Angaben darüber machen, von welchen Computern (Hosts) im Netzwerk der Zugriff erfolgen darf und für welche Datenbankobjekte der Zugriff erlaubt ist.

use mysql;
insert into user (host,user,password) values ('%','ueb',password('geheim'));
flush privileges;
grant all on ueb_db.* to ueb;

Obige Anweisungen bewirken, dass ein Benutzer ueb angelegt wird, der sich von allen Rechnern (%) des Netzwerkes einloggen darf und das Passwort geheim hat. Mit flush privileges werden die Zugriffsrechte neu eingelesen. Der Benutzer ueb erhält dann alle Rechte an allen Tabellen der Datenbank ueb_db. Die Funktion password bewirkt, dass das Passwort natürlich nicht im Klartext sondern als Hash abgespeichert wird.

Valid XHTML 1.0! lokal