MySQL
Back to current versionRestore this version

MySQL #

Mysql ist die wohl beliebteste Datenbank unter Linux.

Installation und Einrichtung #

Installation folgender Debian-Pakete für ein vernünftiges Grundsystem:

Als erstes sollte man per

  mysqladmin -u root password meinpasswort

sein root-Passwort neu setzen. Dann kann man mit

  mysql -u root -p

eine mysql-Shell bekommen, um z.B. Datenbanken und Benutzer anzulegen. Dies geht z.B. so:

  mysql> CREATE DATABASE datenbank;
  mysql> GRANT ALL PRIVILEGES ON datenbank.* TO benutzer@localhost IDENTIFIED BY 'passwort';
  mysql> GRANT SELECT ON mysql.db TO benutzer@localhost;
  mysql> GRANT SELECT ON mysql.tables_priv TO benutzer@localhost;
  mysql> QUIT

Alternativ kann man natürlich hierzu auch die Weboberfläche von phpmyadmin unter http://localhost/phpmyadmin aufrufen. Dabei sollte man aber beachten, daß die Passwörter unverschlüsselt übers Netz gehen, wenn man nicht auf "localhost" arbeitet und kein HTTPS benutzt.

Meistens ist es so, daß man nur einen einzelnen Benutzer benötigt, der dann Zugriff auf eine einzelne Datenbank bekommt, um ein bestimmtes Programm laufen zu lassen. Das müsste bis hierhin problemlos möglich sein.

Dokumentation #

Die MySQL-Anleitung ist sehr ausführlich und hilft eigentlich in allen Lebenslagen. Evtl. ist die lokale Anleitung (per DwwwHilfe bzw. in /usr/share/doc/mysql-doc gut zu finden) die bessere Alternative, weil sie wirklich dieselbe Programmversion beschreibt, die auch installiert ist. Also: Wer lesen kann, ist klar im Vorteil!

Zugriff vom Netzwerk #

In der Debian-Grundeinstellung ist der Zugriff vom Netzwerk aus gesperrt (nur localhost). Um das zu ändern, muss in der Datei /etc/mysql/my.cnf der Eintrag skip-networking auskommentiert werden. Danach den Server mit /etc/init.d/mysql restart neu starten und fertig.

Passwort gelöscht #

Wer mal beim rumspielen aus Versehen den root-Benutzer gelöscht hat, bzw. dessen Passwort vergessen hat, kann den Server mit

  mysqld --skip-grant-tables

starten und dann einen neuen User anlegen. (Bei Problemen gibts dazu noch mehr in der FAQ auf der Webseite) -- ThomasBayen

Lizenz #

MySQL ist dual-lizensiert, d.h. es steht einerseits unter der GPL, kann aber andererseits auch von der Firma mysql kommerziell lizensiert werden. Was kann man nun tun, wenn man ein kommerzielles Programm schreiben möchte?

Dazu ist zuerst mal zu sagen, daß es nach allen Auslegungen der GPL kein Problem ist, den GPL-Mysql-Server gleichzeitig mit einem eigenen, proprietären, Programm auf eine CD zu packen. Beide Programme laufen ja letztlich eigenständig und das mysql sollte natürlich alle GPL-Bedingungen erfüllen (Quelltext und Lizenz beilegen etc.). Etwas komplizierter ist die Frage nach dem Treiber, denn dieser steht ebenfalls unter der GPL und wird ja normalerweise in unser Programm hineingelinkt. Nachdem über diese Frage in der LUG bereits sehr ausführlich diskutiert worden ist und ich diese Frage jetzt für mich selber auch nochmal gestellt hatte, habe ich nach einigen Recherchen folgende Möglichkeiten festgestellt. Das hier gesagte gilt für den JDBC-Treiber, den auch die Diskussionen in der LUG ausgelöst hat.

Tags:  Datenbank