![]() |
|||
| HSG |
|
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 ....
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.
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.