MySQL Datenbank/de

From TNG_Wiki
Jump to: navigation, search

mySQL-Datenbank

Allgemeines

Die Speicherung der (genealogischen) Daten wird von TNG in einer mySQL-Datenbank vorgenommen. Normalerweise verrichtet die Datenbank getreulich im Hintergrund ihre Dienste und Sie müssen sich nicht weiter darum kümmern. Dennoch ist es nützlich, einige Hintergrundinformationen zu mySQL zu kennen.

mySQL ist als Open-Source-Software erhältlich und vor allem im Zusammenhang mit Webauftritten sehr populär.

mySQL ist eine relationale Datenbank, d.h. die gespeicherten Daten sind in Form von Tabellen organisiert. Die Tabellennamen werden bei der Erstinstallation von TNG festgelegt. Wenn Sie bei der Installation an den Voreinstellungen nichts geändert haben, beginnen alle TNG-Tabellen mit "tng_". (Sie können in Ihrer mySQL-Datenbank auch weitere Tabellen speichern, die nicht zu TNG gehören.)

Ausgewählte weiterführende Links zu mySQL:

Datenbank-Zugangsdaten

Sowohl bei der Neuinstallation von TNG als auch bei eventuellen späteren Wartungsarbeiten an der mySQL-Datenbank benötigen Sie die folgenden Datenbank-Zugangsdaten:

  • Datenbank-Servername
  • Datenbankname
  • Datenbank-Benutzerkennung und Passwort.

Wenn Sie TNG auf dem Webspace Ihres Providers installieren, dann erhalten Sie diese Angaben entweder direkt von Ihrem Provider oder Sie können über die von Ihrem Provider bereitgestellte Verwaltungsoberfläche selbst eine mySQL-Datenbank anlegen und bekommen dabei die erforderlichen Angaben mitgeteilt.

Falls Sie TNG auf Ihrem eigenen Rechner installieren, entspricht der Servername Ihrem Rechnernamen (meist funktioniert es auch mit "localhost"). Eine neue Datenbank müssen Sie selbst anlegen, ebenso eine Benutzerkennung mit entsprechenden Zugriffsrechten und zugehörigem Passwort. Zu beachten ist, dass die Benutzer- und Berechtigungsverwaltung von mySQL völlig getrennt von der Benutzerverwaltung Ihres Rechner-Betriebssystems (z.B. Windows) erfolgt - mit anderen Worten: die Benutzerverwaltung von mySQL "weiß" nichts von der Benutzerverwaltung des Betriebssystems, und umgekehrt.

Bitte schreiben Sie sich die Datenbank-Zugangsdaten auf und bewahren Sie sie gut auf.

Die Datenbank-Zugangsdaten finden Sie in TNG wie folgt: Verwaltung -> Einstellungen -> Konfiguration -> Allgemeine Einstellungen -> Datenbank. Die Datenbank-Zugangsdaten werden TNG-intern in der Datei config.php gespeichert.

mySQL-Version

Derzeit (März 2010) ist die 5.1er-Serie von mySQL aktuell. Falls Sie die Wahl haben, welche mySQL-Version Sie für Ihre TNG-Datenbank einsetzen, sollten Sie mySQL in der Version 5.1.x (oder 5.0.x) verwenden. Bei einer TNG-Neuinstallation besteht für den Einsatz älterer mySQL-Versionen keine Notwendigkeit. Falls Ihre TNG-Installation bereits älter ist und noch unter mySQL 3.x oder 4.x läuft, sollten Sie den Umstieg auf eine aktuelle Version ins Auge fassen.

Falls Sie TNG auf Ihrem eigenen Rechner unter Windows installieren möchten, empfiehlt sich das fertige "XAMPP"-Paket.

Verwaltungsprogramme für mySQL-Datenbanken

Die mySQL-Datenbank folgt dem sog. Client-Server-Modell. Für unsere Zwecke bedeutet dies: ein Zugriff auf die Datenbank ist nicht nur über die TNG-Oberfläche möglich, sondern auch - an TNG vorbei - mit anderen Programmen. Einige davon werden nachfolgend vorgestellt.

Achtung: Für alle schreibenden Zugriffe auf Ihre TNG-Datenbank, welche nicht über die TNG-Oberfläche erfolgen, gilt: Sie sollten wissen, was Sie tun. Bei fehlerhaften Datenänderungen kann Datenverlust drohen. Da keine "Rückgängig"-Funktion zur Verfügung steht, sollten Sie stets über eine aktuelle Datensicherung verfügen!

Für die Nutzung der nachfolgend beschriebenen Programme, mit Ausnahme eines vom Provider vorinstallierten phpMyAdmin, ist Voraussetzung, dass Ihr Provider die mySQL-Datenbank so konfiguriert hat, dass auch Zugriffe "von ausserhalb" zulässig sind.

TNG

In TNG selbst können Sie unter Verwaltung -> Dienstprogramme -> Tabellen sichern/wiederherstellen/optimieren alle oder einzelne Datenbank-Tabellen sichern und wiederherstellen. Außerdem können Sie Tabellen optimieren. Für alle weiteren Wartungsarbeiten benötigen Sie eines der nachfolgend beschriebenen Programme.

SQL-Kommandozeile

Installation unter Windows: Laden Sie von http://dev.mysql.com/downloads/mysql/ den "MySQL Community Server" als ZIP-Archiv herunter und entpacken Sie die ZIP-Datei auf Ihrem Rechner. (Download und Installation als MSI-Datei ist nicht erforderlich, da Sie auf Ihrem Rechner keine mySQL-Datenbank betreiben wollen, sondern lediglich die Kommandozeile benutzen.)

Installation unter Linux: Installieren Sie die entsprechenden Pakete gemäß der für Ihre Distribution üblichen Vorgehensweise.

Aufruf der Kommandozeile: Öffnen Sie auf dem Rechner ein Kommandozeilenfenster. (Unter Windows, je nach Version, z.B. wie folgt: Start -> Ausführen -> cmd -> "OK". Anschließend müssen Sie in das Verzeichnis wechseln, in dem sich das Programm "mysql.exe" befindet). Geben Sie folgendes ein:

mysql -h DATENBANK-SERVERNAME -u DATENBANK-BENUTZERKENNUNG -p

(Setzen Sie anstelle von "DATENBANK-SERVERNAME" und "DATENBANK-BENUTZERKENNUNG" die für Ihre mySQL-Datenbank zutreffenden Werte ein.) Das Passwort wird anschließend abgefragt. Wenn der Prompt "mysql>" erscheint, befinden Sie sich auf der Kommandozeile der Datenbank und können sich "auf SQL" mit Ihrer Datenbank unterhalten, beispielsweise wie folgt:

mysql> SELECT VERSION();
+------------------------+
| VERSION()              |
+------------------------+
| 5.0.51a-24+lenny2+spu1 |
+------------------------+
1 row in set (0.05 sec)

Weiteres ist dem mySQL-Handbuch zu entnehmen.

Insgesamt ist die SQL-Kommandozeile mehr etwas für Experten bzw. Insider. Sie hat aber, im Gegensatz zu den nachfolgend beschriebenen Programmen, den Vorteil, dass wiederkehrende Aufgaben (z.B. ein Backup der Datenbank) mit Hilfe von Batchfiles bzw. Shellskripten automatisiert werden können.

phpMyAdmin

phpMyAdmin ist eine browserbasierte Open-Source-Anwendung zur Verwaltung von mySQL-Datenbanken. Sie steht in zahlreichen Sprachen, auch auf deutsch, zur Verfügung. Üblicherweise wird sie von den Webprovidern bereits vorinstalliert angeboten und ist über die jeweilige Administrationsoberfläche des Providers erreichbar.

Sie können phpMyAdmin auch selbst auf dem eigenen Webspace installieren; im allgemeinen ist es aber einfacher, eines der nachfolgend beschriebenen Programme zu verwenden. (phpMyAdmin ist in dem oben erwähnten XAMPP-Paket mit enthalten.)

Siehe auch:

HeidiSQL

HeidiSQL ist ein freies Windows-Programm in englischer Sprache, das eine eingängige Oberfläche zur Verwaltung von mySQL-Datenbanken bietet.

mySQL Query Browser, mySQL Administrator, mySQL Workbench

Die beiden erstgenannten Programme bieten sinngemäß den Funktionsumfang von HeidiSQL, jedoch auf zwei Programme aufgeteilt. mySQL Workbench ist das Nachfolgeprogramm. Die Programme sind über die mySQL-Downloadseiten kostenlos erhältlich. Im Gegensatz zu HeidiSQL stehen sie nicht nur für Windows, sondern auch für MacOS und Linux zur Verfügung.

Weitere Programme

Ein Zugriff auf mySQL ist z.B. auch mittels "Microsoft Access" oder "OpenOffice.org Base" möglich (z.B. für Abfragen oder gedruckte Listen). Zunächst ist die Installation des ODBC-Treibers erforderlich.

Wichtige Verwaltungsarbeiten bei mySQL-Datenbanken

Informationen verschaffen

Mit Hilfe der beschriebenen Verwaltungsprogramme können Sie sich Informationen über Ihre mySQL-Datenbank verschaffen, beispielsweise

  • welche mySQL-Version läuft,
  • mit welchem Zeichensatz die Datenbank läuft,
  • wieviel Speicherplatz Ihre Datenbank insgesamt bzw. die einzelnen Tabellen belegen, wieviele Datensätze sich in den Tabellen befinden, usw.

Datensicherung (Backup)

Siehe separate Wiki-Seite: Confixx-Datensicherung (html & mySQL). ! je nach Webspace-Hoster unterschiedlich !

Tabellen überprüfen/reparieren

In seltenen Fällen kann es vorkommen, dass eine Datenbanktabelle beschädigt ist. Ob dies der Fall ist, können Sie mittels "Tabelle(n) überprüfen" (check table) feststellen.

Tabellen optimieren

Gelöschte Datensätze werden von mySQL zunächst nur mit einer internen Löschmarkierung versehen, nehmen aber nach wie vor ihren Speicherplatz in Anspruch. Ein echtes (physisches) Löschen erfolgt erst beim Optimieren der Tabellen (optimize table). Ob dies erforderlich ist, sehen Sie z.B. in phpMyAdmin in der Tabellenübersicht, Spalte "Überhang". Für TNG ist das Optimieren der Tabellen in erster Linie dann zweckmäßig, wenn Sie TNG zur Darstellung anderweitig verwalteter genealogischer Daten verwenden und hierbei jeweils Ihre komplette GEDCOM-Datei neu einspielen.