MySQL Datenbank-Server

Installation und Test auf Windows (WAMP)

MySQL ist weltweit der Standard-Datenbank-(DB)-Server für kleinere und mittlere Netzwerke (LAN).
Keine Lizenzgebühren für die Standardversion (Community Edition), schnell und sicher auch unter großer Last.
Hier wird Installation und Test auf Windows-Betriebssystemen beschrieben.
Auf anderen Systemen bzw. mit anderen Versionen werden evtl. andere Bezeichnungen verwendet, und die Komponenten können sich an anderer Stelle befinden.
Verwenden sie zunächst nur Standard-Optionen, und gehen sie erst dann zu anderen Einstellungen über, wenn ihr MySQL Server funktioniert.
Alle Angaben ohne Gewähr !   Wenn sie den Hinweisen folgen, so tun sie das auf eigenes Risiko !
WAMP Standard-Server mit Windows - Apache - MySQL - PHP - Perl
Quellen Wo kann man den MySQL DB-Server downladen ?
Vorbereitung Daten sichern, MySQL-Server abschalten und abmelden
Installation Installation auf Windows-PC
Anmeldung als Dienst Dienste (services) sind Hintergrund-Programme ohne Oberfläche
Start & Stop Start, Stop, Restart
Test Einfache Funktionstests
MySQL Verwaltung Administrations-Programme: phpMyAdmin, MySQL-Manager, ...
Konfiguration Einstellung der Parameter
phpMyAdmin Das komfortable Standard-Werkzeug für MySQL-Administration
mysql-Konsole Das Konsolen-Werkzeug für MySQL-Administration
Passwort und Konto Sprung von MySQL-Version 4.0 auf 4.1
ODBC MySQL als Standard-ODBC-Datenquelle
Updates Neue Versionen von MySQL-Server
Weiter User, PHP, Perl, ...
Migration Umstieg von veralteter DB-Software auf SQL-Server
Linux-MySQL MySQL Datenbank Server auf einem Linux (LAMP) - System

MySQL - Quellen

MySQL
Voraussetzung: ein modernes Windows-Betriebssystem (z.B. Win2000, WinXP). Eine Installation auf älteren Systemen ist möglich, aber weniger sinnvoll. Die Installation auf Vista ist möglich, läuft jedoch langsamer. Falls sie auf Linux installieren wollen, wechseln sie zur LAMP-Seite.
MySQL ist ein kommerzielles Produkt. Die weltweit führende Standardversion (Community Edition) erhä man kostenfrei auf der MySQL-Homepage:

Version:

MySQL bietet die kostenfreien Versionen Community Edition und MaxDB (für SAP), dazu die kommerziellen Versionen Pro (Certified Server) und Cluster.
Manchmal haben sie die Wahl zwischen stabilen getesteten Arbeits-Versionen (recommended, production release) und der jeweils neuesten Entwickler-Version. Benutzen sie im Zweifel immer die empfohlene stabile Version !

Dokumentation:

Nicht jeder Download enthält die Doku. Überprüfen sie das und laden sie bei Bedarf die Doku extra. Diese ist zwar auch Online bei MySQL verfügbar, ändert sich jedoch etwas je nach aktueller Version.

ODBC

ODBC erlaubt allen dafür ausgelegten Programmen (z.B. Kalkulation / Excel, aber auch Access, Filemaker, ..) den Zugriff auf die MySQL-Datenbanken. Das bietet einen einfachen, aber sehr praktischen Zugang zu ihren Daten, je nach Konfiguration auch über das Lokale Netzwerk (LAN). Laden sie zusätzlich den ODBC-Treiber von MySQL, um diese Funktion zu ermöglichen.

JDBC

Alle Standard Programmiersprachen bieten in eigenen MySQL-Modulen Zugriff auf ihre MySQL-Datenbanken. Java benötigt dazu den JDBC-Treiber, den sie am besten direkt vom MySQL-Web laden.
Die MySQL-Module aller anderen Programmiersprachen findet man mit den entsprechenden Stichworten (Perl, PHP).

Vorbereitung der MySQL-Installation

Firewall

Der Zugang zum SQL-Server muss von allen beteiligten Firewalls erlaubt werden.
Am Server-PC müssen eingehende Daten zugelassen werden, die auf Port 3306 von den PC des eigenen lokalen Netzwerks kommen.

Auf allen anderen PC (welche den Datenbank Server verwenden sollen) müssen ausgehende Daten an den Server-PC auf Port 3306 zugelassen werden.
Alle weiteren angeführten Vorbereitungen sind nur dann notwendig, wenn auf ihrem Win-System bereits ein MySQL Server installiert ist.

Daten-Sicherung

Vorrang vor allen anderen Arbeiten hat die Sicherung der vom MySQL Server verwalteten Daten:
Legen sie eine Sicherungs-Kopie (Dump) an.
Sichern sie die Datenbank mysql getrennt von allen anderen: Hier sind alle Zugangs-Rechte enthalten.
Sichern sie von allen Datenbanken Struktur und Daten (am besten getrennt). Kontrollieren sie in Stichproben, ob die Sicherung korrekt ausgeführt wurde.

Server herunterfahren:
Nach Sicherung der Daten wird der alte MySQL Server abgebaut:
Ein laufender MySQL Server muss abgeschaltet werden.
Ein abgeschalteter MySQL Server muss abgemeldet werden.
Der alte Server wird vorläufig nicht de-installiert oder gelöscht.
Die Datenbanken des alten Servers bleiben vorläufig an Ort und Stelle.

Server abschalten

Ein laufender MySQL Server muss abgeschaltet werden.
Dienst Verwaltungs-Programm services.msc - Rechtsklick auf den Dienst MySQL, Befehl Beenden.
Alternativ kann man eines der Konsolen-Programme verwenden:
C:\> net stop mysql
C:> sc stop mysql
Danach ist das Server-Programm gestoppt, bleibt jedoch als Dienst-Programm angemeldet.

Server abmelden

Das abgeschaltete MySQL Dienst-Programm muss abgemeldet werden:
Dazu eignet sich der Installer (genau jenes Programm install.exe, mit welchem der 'alte' MySQL Server installiert wurde: Wenn das Programm einen installierten MySQL Server findet, dann bietet es die Option zu dessen Entfernung.

Alternativ verwendet man das Konsolen-Programm:
C:\Programme\MySQL\bin> mysqld --remove
Danach ist der Server abgeschaltet und abgemeldet. Er kann jedoch bei Bedarf wieder in Betrieb gehen. Insbesondere die Daten sind unverändert. Nun kann die neue MySQL-Version installiert werden.

Installation von MySQL auf Windows

Verschieben sie das Installer-Archiv in ein eigenes Verzeichnis, z.B.
  C:\temp\install
Packen sie das Archiv mit einem Expander (WinRAR, WinZip, WinAce, ...) aus und starten sie den Installer.
Das Installer-Programm stellt vor der eigentlichen Installation einige sinnvolle Fragen: Antworten sie im Zweifel mit der vorgeschlagenen Standard-Antwort.

Installations-Verzeichnis

Der Vorschlag lautet meist
C:\MySQL
besser (übersichtlicher) ist meist
C:\Programme\MySQL

Umgebungs-Variable PATH

Es ist sehr empfehlenswert, den Pfad zu den MySQL-Programmen in diese Variable aufzunehmen.
Details dazu auf dieser Seite und auf der Seite Umgebungs-Variable auf Windows.

Passwort

MySQL verwendet unabhängig vom Betriebssystem (!) eine eigene User-Verwaltung. (Umgekehrt kann die User-Verwaltung von Linux-Systemen durch eine MySQL-Datenbank erfolgen) Zu Beginn ist bereits der User root mit uneingeschränkten Zugriffs-Rechten angelegt. Es ist sehr empfehlenswert, sofort ein Passwort für den Verwaltungs-User root anzugeben !
Notieren sie das Passwort sofort ! - Ein uraltes Kobolds-Gesetz besagt, dass man es unmittelbar nach der Vergabe natürlich auswendig kennt und daher nirgends aufschreibt. Wenn man in der Datenbank genügend viele unwiederbringliche Daten gesammelt hat, dann ist das Passwort jedoch nicht mehr auffindbar.
Wenn sie das root-Passwort vergessen haben, gibt es keinerlei Zugriff auf die Daten !

Anonymer User

MySQL bietet die Option, einen anonymen MySQL-User anzulegen.
Davon wird dringend abgeraten !

User & Passworte
Mit den Verwaltungs-Werkzeugen ( phpMyAdmin, mysql.exe, ...) können sie später alle User-Daten und -Zugriffsrechte ändern (neu anlegen, ändern, löschen, ...) - Allerdings nur dann, wenn sie sich als root anmelden können !
Lesen sie die Dokumentation ! Falls nicht in ihrem Archiv enthalten → von der MySQL-Homepage laden. MySQL ist ein Hintergrund-Dienst, der nach Installation bereits 'unsichtbar' läuft.
Ein Dienst (Server-Programm) ist nicht über Fenster bedienbar, sondern kann nur mit eigener Software gestartet und angehalten werden.
Platzbedarf (Richtwerte):
Installer-Download ca. 85 MB
Festplatte: ca. 140 MB, zuzüglich Daten
Hauptspeicher: ca. 15 MB
Wenn vorher eine ältere MySQL-Version installiert war, dann kann im letzten Schritt (execute) eine Fehlermeldung auftreten. Wiederholen sie mit Klick auf retry, dann ist das Problem normalerweise benoben.

Anmeldung des MySQL Datenbank-Servers als Windows-Dienst

Voraussetzung: MySQL-Datenbank-(DB)-Server wurde korrekt installiert.
Nach normaler Ausführung der Installation ist der MySQL Server bereits als Windows-Dienst angemeldet.

Anwendungs-Programme und Dienste:

Übliche Anwendungs-Programme sind z.B. Textverarbeitung, Grafik, Kalkulation, Spiele. Ihr Start erfolgt durch Doppelklick oder über das Start-Menü.
Das Programm öffnet Bedienungs-Fenster und wird per Maus und Tastatur gesteuert.

MySQL ist kein Anwendungs-Programm und wird nicht wie ein solches gestartet !
MySQL ist ein Hintergrund-Dienst (service), öffnet daher keine Fenster, und kann nicht durch Maus & Tastatur nicht gesteuert werden. Das wäre bei einem eigenen Server-PC fatal, denn dort befindet sich normalerweise kein Mensch, der auf Meldungen reagieren könnte.
Ein Dienst muss sich automatisch starten und beenden lassen, und darf keine "Fragen" stellen. Allfällige Ereignisse werden in Log-Dateien oder Datenbanken protokolliert, Warnungen werden als Mail an den Administrator gesendet.

Anmeldung durch den Installer

Die Installer neuerer Versionen melden den MySQL-Server als Dienst an und starten den Dienst bereits. In diesem Fall müssen sie sich um die Anmeldung nicht kümmern.
Weiter zum Test der Installation.
Kontrolle:
Starten sie das Dienst-Verwaltungs-Programm:
  C:\WINDOWS\system32\services.msc
Suchen sie die Zeile 'MySQL': Der Dienst sollte mit Status=Gestartet eingetragen sein.
Mit Rechtsklick sind die Eigenschaften zugänglich: Standard ist Starttyp=Automatisch. Ihr MySQL-Server wird dann bei Systemstart automatisch angemeldet.
'Klassische' Anmeldung von MySQL als Windows-Dienst:
Das ist nur bei älteren MySQL-Versionen notwendig. Nach Installation neuer MySQL-Versionen ist ihr DB-Server bereits angemeldet und gestartet !
Zur Anmeldung öffnen sie ein Konsolen-Fenster ("Eingabeaufforderung") cmd.exe und wechseln sie ins MySQL Programm-Verzeichnis (je nach Installations-Pfad):
C:\> cd C:\MySQL\bin
C:\> cd C:\Programme\MySQL\bin
So installieren sie MySQL als Dienst (Service):
C:\Programme\MySQL\bin> mysqld --install
Achtung - Die Anmeldung dauert eine Weile und gibt nicht immer eine Erfolgsmeldung.

Kontrollieren sie die Anmeldung so wie im Absatz oberhalb beschrieben.
Falls nötig, können sie MySQL so wieder entfernen:
C:\Programme\MySQL\bin> mysqld --remove

Start & Stop von MySQL DB-Server auf Windows

Voraussetzung: MySQL Server wurde installiert und als Dienst angemeldet.
Nach normaler Ausführung der Installation ist der MySQL Server bereits gestartet.
Neuere Installer und andere Anbieter bieten eigene Werkzeug-Programme für den MySQL-Server, mit deren Hilfe man den Dienst auch starten oder anhalten kann.
Die folgenden Abschnitte zeigen, wie der DB-Server mit immer verfügbaren 'primitiven' Methoden kontrolliert wird.
Beispiele für Verwaltungs-Software:
winmysqladmin, MySQL Administrator, ...
Diese und andere Programme bieten eine grafische Oberfläche für die Verwaltung des DB-Servers.

Dienst-Verwaltungs-Programm

Alle installierten Hintergrund-Dienste (Server) werden mit diesem Programm verwaltet:
C:\WINDOWS\system32\services.msc
Legen sie eine Verknüpfung zu diesem Programm in ihrem Start-Menü an, falls es sich nicht bereits dort befindet.

Starten sie das Dienst-Verwaltungs-Programm:
Den MySQL-DB-Server finden sie in der Liste unter
  MySQL
Start-Eigenschaften:
Mit Rechtsklick auf einen Dienst sind dessen Eigenschaften zugänglich: Jeder Dienst kann hier z.B. komplett abgeschaltet werden.
Stellen sie die Start-Eigenschaften ein: Der Dienst wird normalerweise automatisch bei Systemstart gestartet.

Manueller Start und Stop mit dem Dienst-Verwaltungs-Programm:
In der linken Fensterhälfte finden sie Links, mit denen sie jeden installierten Dienst manuell starten oder anhalten können.
Führen sie keine Änderung an anderen Diensten aus, deren Funktion sie nicht genau kennen !

Konsolen-Programme:

Öffnen sie ein Konsolen-Fenster (Eingabeaufforderung) cmd.exe
Ausgabe des aktuellen Status von MySQL:
C:\> sc query mysql

Starten oder stoppen sie MySQL:
C:\> net start mysql
C:\> sc start mysql
C:\> net stop mysql
C:> sc stop mysql

Die Programme net und sc können alternativ an Stelle des Dienst-Verwaltungs-Programmes services für Start / Stop / Restart des MySQL Servers verwendet werden.

Hinweis: Diese Befehle eignen sich für die Automatisierung.

PATH:

Es ist sehr empfehlenswert, den Pfad zum MySQL Programm-Verzeichnis in die Umgebungs-Variable PATH aufzunehmen.
Die Installer neuer MySQL-Versionen führen das bereits selbst durch. In diesem Fall kann das Konsolen-Programm mysql.exe (nächstes Kapitel) problemlos gestartet werden, unabhängig vom gerade benutzten Verzeichnis.

Eigene Script-Dateien *.cmd sollten sich in einem Verzeichnis befinden, das ebenfalls in PATH enthalten ist. In diesem Fall können die Script-Programme problemlos gestartet werden, unabhängig vom gerade benutzten Verzeichnis.
Details zur Umgebungs-Variablen PATH auf Windows.

Test mit dem Konsolen-Programm   mysql.exe

Voraussetzung: MySQL DB-Server installiert, als Dienst angemeldet, gestartet.

Pfad-Test:

Öffnen sie ein Konsolen-Fenster (Eingabeauffordderung) cmd.exe und starten sie das Verwaltungsprogramm mysql.exe
C:\> mysql

Wenn sie eine Meldung erhalten wie
ERROR ... Access denied
dann ist der Pfad korrekt eingestellt.

Wenn sie ein Meldung erhalten wie
Befehl ... mysql ... nicht gefunden
dann verzweigen sie in das Programm-Verzeichnis von MySQL und wiederholen dort den Test:
C:\Programme\MySQL\bin> mysql
Wenn sich mysql erst jetzt mit ERROR ... Access denied meldet, dann funktioniert das Programm, die Umgebungs-Variable PATH ist jedoch noch nicht oder falsch eingestellt.

Anmeldung mit Name und Passwort

Bereits der Installer drängt sie dazu, ein Passwort für den Administrator root zu vergeben. In diesem Fall können sie das Konsolen Verwaltungs-Programm mysql.exe nur mit Name und Passwort öffnen:
C:> mysql -uroot -pgeheim
Welcome to the MySQL monitor...

In diesem Beispiel wird mysql.exe mit 2 Optionen gestartet:
-u gibt den UserNamen an (hier 'root')
-p gibt das Passwort an (hier 'geheim')
Vor Angabe des Passworts kein Leerzeichen (dieses wird sonst als Bestandteil des Passworts betrachtet) !

Anmeldung auf entfernten Servern

Auch auf entfernten MySQL-Servern (im lokalen Netzwerk oder im Internet) ist eine Anmeldung möglich:
C:> mysql -h192.168.0.1 -uroot -pgeheim

Ersetzen sie die Host-Adresse 192.168.0.1 durch die reale Adresse des MySQL-Servers. Auf diese Weise ist die einfache Fernsteuerung eines Servers vom eigenen PC möglich.

Status

mysql> status;
Ausgabe von Status-Informationen. Vergessen sie nicht den ; Strichpunkt am Ende jedes Befehls. Andernfalls wird das Zeichen für Zeilen-Fortsetzung -> angezeigt, bis sie den Befehl mit ; abschließen.

Hilfe

mysql> help;
Ausgabe der integrierten Hilfe. Die Hilfe wird erst nach der gültigen Anmeldung angezeigt. Details zur Hilfe finden sie in der Original-Dokumentation.

Datenbanken

mysql> show databases;
+----------+
| database |
+----------+
| mysql    |
| test     |
+----------+
mysql> use test;
Database changed

Ausgabe einer Liste aller angelegten Datenbanken.

Mit Befehl use wählt man daraus eine Datenbank zur Bearbeitung.
Danach kann man alle Standard SQL-Befehle auf diese Datenbank anwenden.
Zu jedem Zeitpunkt ist nur eine Datenbank ausgewählt. Mit Befehl use kann man allerdings jederzeit eine andere Datenbank zur Bearbeitung auswählen.

Programm beenden

mysql> quit;
Bye
C:\>
Mit Befehl exit oder quit wird das mysql Verwaltungs-Programm beendet. Auf der Linux Shell-Konsole steht ein gleichnamiges und praktisch genau gleich funktionierendes Konsolen-Programm zur Verfügung.

MySQL Verwaltung

Voraussetzung: MySQL DB-Server installiert, als Dienst angemeldet, gestartet

mysql.exe

Dieses Konsolen-Programm wird mit jeder MySQL-Installation mitgeliefert und gehört zur Grund-Ausrüstung.
Das Programm befindet sich im MySQL-Verzeichnis, z.B.
C:\Programme\MySQL\bin\mysql.exe
Im Kapitel Test dieser Seite finden sie Hinweise zum erstmaligen Start von mysql.exe
Rechts wird die Verwendung von Script-Programmen mit mysql.exe demonstriert.

SQL Script-Dateien

Eine besondere Stärke von mysql.exe ist die Möglichkeit zur Ausführung von SQL Script-Dateien (z.B. für Verwaltungs-Arbeiten): Legen sie eine Text-Datei an, z.B.
C:\test.sql
und tragen sie darin SQL-Befehle ein, z.B. die Zeilen
use mysql;
show tables;
select host,user,password from user;
select curtime();
Starten sie mysql.exe und befehlen sie die Ausführung der SQL Script-Datei:
C:\> mysql -uroot -pgeheim>
mysql> source c:\test.sql
Dieses Standardprogramm wird weltweit zusammen mit fast jedem MySQL-Server installiert: Damit können sie ihren MySQL-Server mit jedem Browser steuern, wahlweise auch aus dem lokalen Netzwerk (LAN) oder aus dem Internet fernsteuern.
Bedingung ist die Installation eines Webservers mit PHP.inkl. PHP-Modul mysqli (oder mysql)
Es gibt keine speziellen Betriebssystem-Versionen von phpMyAdmin - Das PHP-Programm läuft ohne jede Änderung auf jedem gängigen System !
phpMyAdmin kann beliebig viele MySQL-Server verwalten, z.B. am eigenen PC, über das lokale Netzwerk oder über das Internet.

phpMyAdmin eignet sich sehr gut für die laufende Wartung des DB-Servers kann jedoch den Server-Dienst nicht starten oder anhalten.
phpMyAdmin kann u.a. alle oder nur bestimmte Datenbanken in Text-Dateien sichern (dump) bzw. aus den Sicherungs-Dateien wieder die kompletten Datenbanken herstellen.

Details zu phpMyAdmin

MySQLManager

Dieses Win-Programm wird mit den meisten MySQL-Distributionen mitgeliefert und ist auch von Shareware-Sites im Internet erhältlich.
Im Internet gibt es noch zahlreicher weitere Angebote für Shareware und Freeware zur Verwaltung von MySQL-Servern.
Das Menü "Tools" von MySQLManager enthält folgende Befehle:
Register Server
Server Properties
SQL Query
Register Server
Ändern sie für den einfachen Testbetrieb keine dieser Einstellungen von MySQLManager
Server Properties:
Hier können sie mit MySQLManager die Einstellungen aller Datenbanken, Tabellen und Felder kontrollieren. Klicken sie dazu auf die Symbole, welche sich in hierarchischer Ordnung öffnen.
Nach Installation verwaltet ihr MySQL Server normalerweise bereits 2 Datenbanken:
mysql und test
Ändern sie nichts an der DB mysql !
Verwenden sie zum Test die Datenbank test
SQL Query:
Ein neues Fenster mit 3 Registern öffnet sich:
Query, Results, Status

Geben sie SQL-Befehle in das Query-Fenster ein, z.B.
  show databases;
Starten sie die Ausführung mit dem grünen Rechtspfeil.
Das Ergebnis wird im Fenster "Results" angezeigt. Sie sollten mindestens die Datenbanken "mysql" und "test" angezeigt erhalten.

Erteilen sie weitere Befehle, z.B.
use test;
show tables;

Eigene Datenbank-Programme

Mit Server-Programmiersprachen wie Perl oder PHP haben sie Zugriff auf jeden MySQL-Server (Berechtigung vorausgesetzt). Damit können sie eigene Programme erstellen, welche auf dynamischen Webseiten den Zugriff auf den DB-Server erlauben.

Diese Art des Zugriffs ist Standard für fast alle kommerziell verwendeten Datenbanken. Heute werden solche Webseiten-Lösungen nur selten komplett selbst programmiert. Dafür werden mächtige und komfortable Programm-Generatoren eingesetzt.

Office-Programme

Aus allen gängigen Office-Programmen kann man auf (MySQL)-Datenbanken zugreifen.
Bedingung ist die Installation des MySQL ODBC-Treibers, und die Auswahl einer ODBC-Datenquele.

Für M$-Office Programme muss dazu die Komponente MSQUERY (msqry32.exe) von der Original-CD installiert werden - Da sie in der Standard-Installation leider nicht enthalten ist, wird das oft vergessen.

Konfiguration von MySQL

Der Installer erzeugt die Konfigurations-Datei my.ini, entweder im MySQL-Verzeichnis oder im Windows-Verzeichnis:
C:\Programme\MYSQL\MYSQL Server\my.ini
C:\Windows\my.ini
Diese Text-Datei kann mit jedem Text-Editor (z.B. notepad.exe) geöffnet werden. Sie ist nach Linux-Brauch in der Datei selbst ausgezeichnet dokumentiert.
Für den normalen Betrieb ist keine Änderung der Konfiguration notwendig, da sich die Zugriffs-Daten nicht in der Konfigurations-Datei sondern in der vom Server selbst verwalteten Datenbank mysql befinden.

Das Konsolen-Programm   mysql.exe

Voraussetzung: MySQL DB-Server installiert, als Dienst angemeldet, gestartet.

Pfad:

Das Konsolen-Programm mysql.exe dient zur Administration des MySQL-DB-Servers und ist im Lieferumfang jedes MySQL-Installers enthalten. Sie finden es z.B. im Verzeichnis
C:\Programme\MySQL\bin\mysql.exe
Einmal installiert, arbeitet dieses Programm auf Windows genauso wie auf Linux.

Einstellung von PATH:
Ergänzen sie die Windows-Umgebungs-Variable PATH um den Pfad zu diesem Programm. Auf der Konsole kann das provisorisch (!) mit Befehl SET geschehen:
C:\> set path=%path%;c:\programme\mysql\bin
Details dazu auf der Seite Umgebungs-Variable

Zugangsrechte:

Jeder MySQL-Server muss bei der Installation mit mindestens einem Zugangs-Konto (account, s.u.) für AdministratorInnen versehen werden, sonst ist kein Zugang zum Server möglich.

Ältere Versionen verwenden user='root' und ein leeres Passwort. Das stellt ein erhebliches Sicherheits-Risiko dar, deshalb ändern sie das Passwort am besten beim ersten Zugriff.
Der Programmstart (Anmeldung) ohne Passwort erfolgt z.B. so:
C:\mysql\bin> mysql

Neue Versionen drängen sie dazu, gleich bei der Installation ein Passwort zu vergeben, z.B. user='root', password='geheim'.
In diesem Fall müssen sie sich mit diesen Daten anmelden, z.B.
C:\mysql\bin> mysql -uroot -pgeheim
Zwischen prefix (-p) und Passwort ('geheim') darf kein Leerzeichen stehen, da es sonst als Bestandteil des Passworts betrachtet wird.

Test:

mysql.exe stellt (auch) ein erstklassiges Entwicklungs-Werkzeug dar: Sie können jeden beliebigen SQL-Befehl direkt eingeben, das Ergebnis wird auf der Konsole angezeigt.
Vergessen sie nicht, jeden Befehl mit einem ';' abzuschließen !

Bevor sie mit SQL arbeiten können, müssen sie eine Datenbank auswählen:
Befehl show databases; zeigt alle DBs an.
Befehl use ... öffnet die angegebene DB.
DB test ist für Experimente vorgesehen und frei zugänglich.

DB mysql verwaltet alle Daten des DB-Servers (Datenbanken, User, Hosts, Zugriffsrechte, usw.).
Verwenden sie die DB mysql daher keinesfalls für Experimente !
C:\> mysql -uroot -pgeheim
Welcome ...
mysql> show databases;
+----------+
| Database |
+----------+
| mysql    |
| test     |
+----------+
2 rows in set (0.00 sec)
mysql> use test;
Database changed
mysql> show tables;
+----------------+
| Tables_in_test |
+----------------+
| test           |
+----------------+
1 row in set (0.00 sec)

Passwort und Konto

Passwort:

Passworte werden vom MySQL-Server in verschlüsselter Form gespeichert. Ältere Versionen <=4.0 verwenden dazu 16 Zeichen, neue Versionen 42 Zeichen.

Die Codierung bei der Eingabe erfolgt durch die SQL-Funktionen password und old_password, die sich allerdings je nach MySQL-Version unterschiedlich verhalten !
Alte MySQL-Server <=4.0 kennen nur die SQL-Funktion password und erzeugen damit einen 16-Zeichen-Schlüssel.
Neue MySQL-Server erzeugen mit SQL-Funktion old_password einen 16-Zeichen-Schlüssel, mit SQL-Funktion password einen 42-Zeichen-Schlüssel.

Beispiel:
mysql> use mysql;
mysql> update user set password=old_password('geheim') where user='alt';
mysql> update user set password=password('geheim') where user='neu';
mysql> select host,user,password from user;
Im ersten Fall (user='alt') lautet der erzeugte Schlüssel
58982d15048734ee
im zweiten Fall (user='neu')
*462366917EEDD1970A48E87D8EF59EB67D2CA26F

Die Verschlüsselung ist nicht umkehrbar: Aus gleichen Texten wird immer der gleiche Schlüssel codiert, aus einem Schlüssel kann jedoch kein eindeutiger Text decodiert werden.

Passwort und Konto-Typ:

MySQL-Server >=Version 4.1 verwenden zur Kommunikation ein neues, verbessertes Protokoll. Alle Programme, die auf MySQL zugreifen, müssen dieses Protikoll unterstützen. Da für den Zugriff meist eigene Programm-Bibliotheken (libraries) verwendet werden, sind in allen Programmiersprachen Module bzw. Bibliotheken für das alte und das neue Protokoll verfügbar.

Beispiel PHP:
Das alte Protokoll wird vom Modul mysql unterstützt, das neue vom Modul mysqli.
Während einer längeren Übergangszeit werden MySQL-Server beide Protokolle unterstützen.
Die Steuerung erfolgt durch die Passwort-Codierung: Konten mit alten 16-Zeichen-Schlüsseln verwenden das alte Protokoll (z.B. PHP-Modul mysql), Konten mit neuen 42-Zeichen-Schlüsseln das neue Protokoll (z.B. PHP-Modul mysqli).
Details finden sie im Kapitel PHP-Module.

Tipp:
Legen sie für jeden Typ von AnwenderIn 2 user-Konten (mit unterschiedlichen user-Namen) an, davon je eines mit altem und neuem Passwort.

So gewährleisten sie, dass alle gängigen Programme unabhängig von der Version mit ihren MySQL-Server zusammenarbeiten können. Sie müssen nur dafür sorgen, dass die Anmeldung am Server mit dem passenden User-Namen erfolgt.

Sie können auch gleiche User-Namen und Passworte verwenden, wenn das Feld host unterschiedlich ist: In diesem Fall hängt das verwendete Konto davon ab, von welchem PC sich ein Programm mit dem MySQL-Server verbindet.

Verwenden sie für neue Entwicklungen ausnahmslos Konten und Passworte neuen Typs und die dazu passenden Module (z.B. mysqli ).

Flush:

Änderungen der Zugangsrechte treten auch nach der Eintragung noch nicht in Kraft.

+ Neustart: Nach jedem Neustart von MySQL-Server werden die Zugangsrechte nach den in der Datenbank mysql gefundenen Daten (neu) erteilt.

+ Geben sie (z.B. mit dem Konsolen-Programm mysql oder mit phpMyAdmin) den SQL-Befehl
mysql> flush privileges;
In diesem Fall treten geänderte Rechte unmittelbar nach korrekter Ausführung des Befehls in Kraft.

ODBC

ODBC (Open DataBase Connectivity) ist eine Technik zur Kommunikation zwischen Daten-Anbieter (Server) und Daten-Konsument (Client) im Netzwerk.

ODBC bietet eine einheitliche Drehscheibe für jede Art von Datenverwaltung. Vorteil: Clients müssen lediglich ODBC "verstehen", um damit auf jede beliebige Datenquelle zuzugreifen.
Bedingung: Die gewünschte Datenquelle ist über einen "ODBC-Treiber" zugänglich - jeder Hersteller von Datenbanken bietet einen ODBC-Treiber an.

Diese Technik unterstützt Programme, nicht meschliche AnwenderInnen. Es gibt daher kein "ODBC-Programm", lediglich einige sehr einfach gehaltene Administrations-Werkzeuge.
Die Anwendung von ODBC macht Sinn auf ihrem persönlichen PC, damit ihre Programme über die (eigenen und externen) Datenquellen verfügen können. Der ODBC-Treiber wird daher auf ihrem PC installiert, nicht am Server !

Sie geben dem ODBC-Treiber ihres PC die gewünschten SQL-Datenquellen bekannt, anschließend können sie mit allen gängigen Programmen darauf zugreifen. Da Server-Einstellungen selten geändert werden, können sie die Datenquellen nach kurzer einmaliger Einrichtung meist lange Zeit (Jahre...) hindurch verwenden.

ODBC ist nur auf Windows-PC üblich und zählt selbst dort zu den älteren, eher vernachlässigten Projekten. ODBC ist auch auf Linux möglich, jedoch nur dann sinnvoll, wenn ein Programm (M$Office, FileMaker) diese Technik ausdrücklich benötigt.

Details zu ODBC in diesem Web
ODBC beim "Erfinder" Microsoft
Entwickler-Informationen bei MySQL
Quelle für den ODBC-Treiber von MySQL:
Die MySQL-Homepage bietet kostenlos Treiber für alle gängigen Betriebssysteme an.
Installation:
Packen sie das Archiv aus, starten sie den Installer.
Voraussetzungen für die Verwendung von ODBC:
Dafür müssen zahlreiche Punkte erfüllt sein. Falls sie MySQL gerade installiert haben, erledigen sie diese Arbeiten besser zu einem späteren Zeitpunkt.

Die gewünschte Datenquelle muss funktionieren (Test von MySQL)

Die Datenquelle muss erreichbar sein, entweder am eigenen PC oder ist über das lokale Netz (LAN).
Für MySQL können sie das notdürftig mit den Konsolen-Programmen ping und telnet feststellen:
Öffnen sie auf ihrem PC ein Konsolenfenster (Startmenü | Ausführen | cmd) und geben sie ein:
C:\> ping 192.168.0.1
C:\> telnet 192.168.0.1 3306
Ersetzen sie die Adresse 192.168.0.1 durch die reale IP-Adresse ihres MySQL-Server-PC. (Der eigene PC hat stets die Adresse 127.0.0.1).
+ Wenn der MySQL-Server auf Port 3306 lauscht (listen), dann wird der Bildschirm gelöscht.
- Wenn der MySQL-Server nicht erreichbar ist oder nicht antwortet, erhalten sie eine Fehlermeldung von telnet
Schließen sie das Konsolen-Fenster.

Die Kommunikation darf nicht behindert werden: Firewalls (sowohl am MySQL-Server als auch an jedem PC im Netzwerk) müssen die Kommunikation auf Port 3306 ausdrücklich erlauben.

Sie müssen über Zugangsrechte und -Daten verfügen:
MySQL-User, Passwort, Name der MySQL-Datenbank.

ODBC ist auf ihrem PC installiert: Das ist auf allen modernen Windows-Betriebssystemen der Fall.

Der zur gewünschten Datenquelle passende ODBC-Treiber ist auf ihrem PC (nicht am Server) installiert (s.o.)

Die Datenquelle ist auf ihrem PC installiert: sie finden sie als "Data Source Name" (DSN) in der DSN-Liste ihres ODBC-Administrators.

Ihr Zielprogramm versteht ODBC:die Standard-Office-Programme von M$ benötigen dazu das Programm SQLquery. Meist müssen sie es von ihrer Office-Installations-CD nachträglich installieren.

Weitere Informationen zu ODBC.
Faule Tricks:
In neueren Windows-Versionen enthält die Liste installierter ODBC-Treiber zwar alle Produkte von M$, die Treiber anderer Hersteller fehlen leider - und zwar auch dann, wenn sie korrekt installiert und funktionsfähig sind, z.B. für MySQL.

Das ist ein kleiner Vorgeschmack darauf, was M$ unter 'mehr Sicherheit' versteht.
Immerhin kann man das Monopol (vorläufig) noch austricksen. Auf der ODBC-Seite finden sie Möglichkeiten, auch ODBC-Treiber anderer Hersteller einzusetzen . . .

MySQL-Update

Wenn sie wichtige Daten auf einem DB-Server verwalten, dann müssen sie bei einem Update mit maximaler Vorsicht vorgehen.
Führen sie ein Update niemals unter Zeitdruck aus !
Der größte mögliche Schaden bei einem Update-Fehler ist der Totalverlust aller Daten. Das ist zum Glück sehr selten, wenns passiert aber nur ein schwacher Trost.
Was jedoch häufig auftritt, sind Verzögerungen auf Grund kleinerer technischer Probleme:
Die Datenbanken sind dann für mehrere Tage nicht verfügbar und die AnwenderInnen bilden sich ein entsprechendes Urteil über die/den AdministratorIn...

Information lesen

Lesen sie alle Informationen zum Thema Update: Im MySQL-Manual (der alten und der neuen Version), in den Hinweisen zur neuen Version, usw. usw.

Zeit lassen

Je wichtiger ihre Daten und je größer deren Menge, desto länger haben sie Zeit für das Update: Im Internet finden sie dann bereits Berichte über die Probleme anderer User und meist auch Lösungswege.

Praxis-Test:

Ideal ist ein Test der neuen Version im 'Original-Maßstab', d.h. mit allen Daten, jedoch auf einem anderen PC und getrennt vom lokalen Netzwerk (LAN).
Je nach den technischen Möglichkeiten müssen sie diesen Test-Umfang einschränken.
Erzeugen sie einen 'Dump' von der Struktur ihrer Datenbanken (ein SQL-Script in einer Text-Datei). Erzeugen sie danach einen Dump ihrer Daten (ohne Struktur). Bei großen Daten-Mengen werden sie in mehreren Dateien begrenzter Größe gesichert. Struktur und Daten übertragen sie z.B. mit dem Programm mysqldump.exe (im Verzeichnis \bin jeder Installation) oder mit phpMyAdmin.
Installieren sie die neue Server-Version (auf einem Test-PC !).
Übertragen sie die DB-Struktur (und einige wenige Daten) auf den Test-Server. Mit mysql.exe oder mit phpMyAdmin können sie jede entsprechende Text-Datei *.sql als SQL-Script ausführen.
Testen sie danach die Daten-Übertragung mit einem kompletten Dump aller Daten. Spätestens dieser Zeitpunkt sollte genutzt werden, eine Sicherungskopie des Total-Dumps auf CD anzulegen.
Große Daten-Mengen ergeben riesige dump-Dateien. Diese sind unhandlich. Außerdem können sich Probleme ergeben, wenn bei der Wieder-Eingabe der Daten die maximale Dateigröße oder Arbeitszeit von Programmen (z.B. PHP) überschritten wird. Deshalb werden große Daten-Mangen besser in Portionen gesichert, z.B. zu je 3-5MB.

Dump (Sicherung als Text-Datei) einer ganzen DB (hier 'test') mit Daten (erste Zeile), oder nur mit der Struktur (2.Zeile):
Der Befehl erzeugt eine Text-Datei (hier test.sql) mit allen SQL-Befehlen zur Wiederherstellung der Daten.
C:\mysql\bin> mysqldump -u root test > c:\test.sql
C:\mysql\bin> mysqldump -u root --no-data test > c:\test.sql

Ausführung eines SQL-Scripts (z.B. einer Text-Datei test.sql zur Wiederherstellung der Daten)
C:> mysql -uroot -pgeheim
mysql> source test.sql;

Planung:

Jedes real ausgeführte Update braucht viel Zeit und volle Konzentration. Meist wird es daher am Wochenende ausgeführt.
Kündigen sie den AnwenderInnen das Update an - meist werden davor noch erstaunlich viele Arbeiten ausgeführt, außerdem rechnet man evtl. mit Ausfall oder Verzögerung am nächsten Arbeitstag.

Sicherheitsnetz:
Sie sollten den Installer der 'alten' MySQL-Version bereithalten.
Setzen sie eine Zeit-Grenze:
Wenn das Update z.B. bis Sonntag Mittag noch nicht funktioniert, dann haben sie noch genug Zeit, um die 'alte' Version wieder in Betrieb zu nehmen.

Dump:

Stellen sie absolut sicher, dass kein/e DB-AnwenderIn mehr an der DB arbeitet, z.B. durch Isolierung des DB-Servers vom lokalen Netzwerk (LAN) - Netzwerk-Kabel abstecken !
Erzeugen sie einen kompletten Dump aller Strukturen und Daten und sichern sie die (meist sehr umfangreichen) Daten auf CD. Kontrollieren sie die Dump-Dateien, führen sie einige Stichproben durch.
Die Datenbank mysql ist klein, aber lebenswichtig (Zugriffsrechte): Sie verdient einen zusätzlichen Dump auf einem anderenn Datenträger.

De-Installation:

(Nur) Bei älteren MySQL-Versionen können Probleme auftreten, wenn eine neue Version installiert wird, solange die alte noch vorhanden ist oder gar noch läuft.

Vor (!) einer De-Installation muss der Dienst 'MySQL' abgemeldet werden. Dazu verwenden sie eines der mitgelieferten Service-Programme (mysqld_opt, winmysqladmin, ...). Kontrollieren sie mit
  C:\WINDOWS\system32\services.msc
Der Dienst darf nicht in der Liste nicht mehr aufscheinen !

Mit der De-Installation verzichten sie auf eine sehr angenehme Option neuerer MySQL-Versionen: Diese übernehmen alle vorhandenen Daten und ersparen ihnen daher das langwierige Einlesen der gespeicherten Dump-Daten.
Testen sie diese Möglichkeit, aber verlassen sie sich nicht darauf: Vor jedem Update muss zur Sicherheit unbedingt ein kompletter Dump erzeugt werden !
Programme sichern: Das Verzeichnis \bin wird von manchen De-Installern und von manchen Installern gelöscht: Falls sie eines dieser Programme (z.B. Shareware...) noch brauchen, müssen sie es sichern. Noch besser ist allerdings Neu-Installation nach dem update.

Die De-Installation wird wie üblich ausgeführt:
Start | Einstellungen | Systemsteuerung | Software

Bei De-Installation bleiben normalerweise sämtliche Daten (im Verzeichnis \data) erhalten. Darauf sollten sie sich jedoch nicht verlassen !

Neu-Installation:

Der Windows-Installer wird mit jeder MySQL-Win-Version mitgeliefert.

Die Installation sollte zu diesem Zeitpunkt bereits getestet sein und keine Probleme bereiten.

Struktur und Daten:

Wenn sie eine neue Version erfolgreich über Programm und Daten einer bestehenden Version installiert haben, dann ist der DB-Server bereit zum Test.
Wenn sie eine neue Version ohne Struktur oder Daten installiert haben, dann müssen diese komplett neu aufgebaut werden.
Zuerst wird die Struktur der DBs installiert, dann folgt der (meist langwierige) Schritt der Daten-Übernahme.
Die wichtigsten Daten (Datenbank mysql ) werden zuerst übernommen.

Für die Daten-Übernahme gibt es evtl. (je nach Version) eigene Werkzeuge. Sie sollten sich darauf allerdings nicht verlassen und im Notfall alle Daten aus einem Dump übernehmen - das ist immer noch die sicherste Methode.

Test:

Die fertigen DBs werden bereits während der Übernahme anderer Daten getestet.
Nach den üblichen Administrator-Tests sollten möglichst umfassende Tests unter den realen Bedingungen der AnwenderInnen ausgeführt werden - auf deren PC, mit deren Zugriffsrechten.

Das umfasst zunächst nur die passive Anzeige (select ...). Erst nach kompletter Installation aller Daten wird die Änderung und Neu-Anlage von Datensätzen getestet.
Idealerweise wird jede Routine-Arbeit an der DB zumindest einmal real getestet, und zwar in der Reihenfolge fallender Wichtigkeit und Häufigkeit.

Probleme:

können auch bei professionell ausgeführten Updates auftreten.
Legen sie noch vor der Analyse eine Zeit-Grenze fest: Wenn ein Problem bis dahin nicht behoben wurde, kehren sie planmäßig zur alten Version zurück, auch wenn damit viel Arbeit umsonst war.

Die Behebung von Datenbank-Problemen verträgt keinen Zeitdruck. Versuchen sie besser nicht, Fehler unter Stress zu beheben - meist werden dabei weitere Fehler hinzugefügt. Im schlimmsten Fall werden Daten beschädigt oder gelöscht.

Weiter mit MySQL-DB-Server

Zugangsrechte einschränken:
Nach Installation ist in MySQL normalerweise nur der SuperUser "root" eigetragen, in älteren Versionen evtl. sogar ohne (!) Passwort. Neuere Installer erlauben für root kein leeres Passwort mehr.
Schliessen sie diese gefährliche Sicherheitslücke so rasch wie möglich !
Sobald sie ihren MySQL-Server mit dem lokalen Netz (LAN) oder gar mit dem Internet verbinden, dann ermöglichen sie damit evtl. jeder Person und jedem Hacker-Programm den Zugang zu ihrem MySQL-Server.
Definieren sie daher ein Passwort für den User "root" und richten sie mindestens einen "normalen" User mit ungefährlichen Zugangsrechten ein.
PHP, Perl & co:
Moderne Programmiersprachen wie PHP oder Perl bieten bequeme Funktionen für den Zugriff auf MySQL-Datenbanken oder ODBC-Datenquellen an. Damit können sie rasch und einfach Programme für den Zugriff auf Datenbanken herstellen. Die Oberfläche wird mit einem beliebigen HTML-Editor gestaltet, die Bedienung erfolgt über Webseiten.

Die Programme laufen auf dem Webserver und sind von jedem PC im lokalen Netz (LAN) mit einem beliebigen Browser ausführbar. Falls ihr Webserver im Internet zugänglich ist, haben sie damit weltweit zu jedem Zeitpunkt Zugang zu ihren Daten.
ODBC:
Auf Windows-PC ist einiger Aufwand zu treiben, bis sie über eine ODBC-Datenquelle verfügen.
Nach dieser einmaligen Arbeit haben sie jedoch mit allen gängigen Programme (z.B. mit M$Excel, ...) direkten Zugriff auf die aktuellen Daten des SQL-DB-Servers.

Migration von Access, dBase, FileMaker, ... auf MySQL

Zahlreiche kleinere Unternehmen verwenden noch M$ Access, dBase, FileMaker oder andere ältere Datenbank-Software. Diese Software wurde nur in seltenen Fällen gezielt ausgewählt.
Als Argument für Access wird oft erwähnt, dass diese Software irgendwann einmal 'vorhanden' war (meist als vermeintlich kostenlose Raubkopie). Dazu kommt die weit verbreitete Unkenntnis, dass es überhaupt andere Datenbank-Software gibt. Solche Ansichten sind im privaten Bereich für ansonsten gebildete Menschen erstaunlich, in Betrieben jedoch unakzeptabel teuer.
Eigene Datenbank-Software wie Access, dBase oder FileMaker hatte ihre Berechtigung, solange PC noch nicht vernetzt waren und nur wenige teure Server verfügbar waren.
Heute sind derartige Programme höchstens noch für Kleinst-Anwendungen am eigenen PC sinnvoll, in einem lokalen Netzwerk (LAN) sind sie überholt. Die komplette Server-Software (LAMP, WAMP, ..) ist heute kostenlos und in ausgezeichneter Qualität verfügbar.
Ein häufiges Merkmal veralteter Datenbank-Software ist die Vermischung von Daten-Verwaltung und BenutzerInnen-Oberfläche. Das ist ein Vorteil für kleine Tabellen am eigenen PC, in allen anderen Fällen jedoch ein erheblicher Nachteil.
Ein besonderer Nachteil ist die Notwendigkeit, veraltete Datenbank-Software auf jedem einzelnen PC zu installieren, meist auch noch in der gleichen Version. Änderungen der Oberfläche (z.B. neue oder geänderte Formulare) müssen manchmal auf jedem einzelnen PC ausgeführt werden.
Darüber hinaus sind solche Programme an bestimmte Hersteller, Betriebssysteme oder Versionen gebunden. Das soll dem Hersteller über lange Zeiträume ein gutes Geschäft garantieren, ist aber in heutigen heterogenen Netzwerken untragbar.
Moderne Datenbank-Lösungen verwenden für die Verwaltung der Daten ausnahmslos zentrale Server-Software. Die Verwaltung und Bedienung erfolgt mit SQL-Befehlen dezentral über ein Netzwerk. Bei Verwendung von Standard-SQL ist die Lösung vom Hersteller des DB-Servers unabhängig.

Die Bedienung erfolgt ausschließlich auf dynamischen Webseiten. Damit ist die Lösung von Betriebssystemen, Versionen und Herstellern unabhängig, und auf jedem gewünschten PC sofort, ohne spezielle Software und ohne Aufwand für die Installation verfügbar.

Änderungen an der Lösung werden nur einmalig zentral (am Server) ausgeführt und sind unmittelbar danach auf allen PC verfügbar - ohne irgendeinen zusätzlichen Aufwand. Auf neu dazukommenden PC ist eine zentrale Lösung sofort ohne Installation verfügbar.

Der Zugang wird strikt aber einfach mit Passwort geregelt und ist daher an die Person gebunden, unabhängig vom Arbeitsplatz.

Die manuelle Programmierung zentraler Lösungen 'nach Bedarf' erfordert bedeutend mehr Aufwand als die lokaler Kleinst-Lösungen. Das wird allerdings durch moderne Software zur halbautomatischen Herstellung dynamischer Webseiten (Formular-Generatoren) weitgehend wettgemacht.
Außerdem muss man ähnliche Dimensionen vergleichen: Komplexe (Server)-Lösungen erfordern zwar einigen Entwicklungs-Aufwand, würden aber mit veralteter DB-Software einen noch wesentlich (unvertretbar) höheren Aufwand zu erfordern.
Diese und einige andere Argumente führen dazu, dass professionelle Lösungen laufend von speziellen DB-Programmen auf Standard SQL-Server übersiedelt werden.
Eine derartige Migration muss mit einem längeren Vorlauf an Zeit sorgfältig geplant, vorbereitet und getestet werden.
Die Migration erfordert die Einrichtung der Datenbank-Struktur auf einem SQL-Server, die Übersiedlung einer kompletten Kopie aller Daten sowie die Erstellung der gesamten Bedienungs-Oberfläche auf einem Webserver.
Der Zeitbedarf für die Migration steigt naturgemäß mit der Komplexität der Lösung, ist jedoch vom Umfang der Daten weitgehend unabhängig. Der Aufwand wird umso teurer, je länger man mit der Umstellung wartet, da die Komplexität aller realen Lösungen laufend zunimmt.
Die Migration auf eine moderne Lösung macht eine Organisation unabhängig von einzelnen Herstellern und ihrer Produkt-Politik. Man kann danach Monopol-Produkte verwenden, ist jedoch darauf nicht angewiesen.

Details zu diesem Thema auf der Seite SQL-Dump & Text-Export.
XHTML CSS