Seitentitel: PHP MySQL

PHP MySQL

MySQL ist ein SQL-Datenbankverwaltungssystem.

 

Die SQL-Datenbank-Engine MySQL wurde 1994 von dem Finnen Michael „Monty“ Widenius als Weiterentwicklung einer selbstentwickelten ISAM-Engine zum Eigengebrauch für die schwedische Unternehmensberatung TcX AB, die er zusammen mit seinen schwedischen Kommilitonen David Axmark und Alan Larsson nach ihrem Studium an der technischen Universität Helsinki gegründet hatte, geschaffen.

 

Heute wird MySQL von der Firma MySQL AB („AB“ schwedisch für Aktiengesellschaft) weiterentwickelt, die von den drei Gründern zusätzlich Anfang 2001 gegründet wurde, um mit Hilfe von Risikokapital den Anforderungen des Marktes besser begegnen zu können. Monty und David sind anschließend von der TcX AB zur MySQL AB gewechselt.

 

Im Mai 2003 übernahm MySQL die Datenbankaktivitäten von SAP. Die Datenbank SAP DB wurde in MaxDB umbenannt und wird nun als zweites Produkt von MySQL AB angeboten. MaxDB ist SAP/R3-zertifiziert. Beide Systeme, MySQL und MaxDB, werden wahlweise unter der GPL oder einer kommerziellen Lizenz angeboten.

 

Als Firma bietet MySQL AB weltweit umfassende Dienste an. Die GPL-Version kommt, wie üblich, ohne jede Garantie, während die kommerzielle Version mit umfassenden Garantien ausgestattet ist.

 

Beschreibung

 

MySQL ist freie Software und steht seit einiger Zeit unter der GPL und einer kommerziellen Lizenz (Dual Licence) zur Verfügung. Es gehört zu den am weitesten verbreiteten Open-Source-Programmen.

 

Neben den meisten Unix-Varianten, Mac OS X und Linux läuft MySQL auch auf Windows und OS/2 (nur Version 3.x) und vielen weiteren Betriebssystemen. MySQL wird sehr häufig zusammen mit dem Webserver Apache und PHP eingesetzt (diese Kombination wird oft als LAMP bzw. WAMP bezeichnet), wird aber auch in vielen kommerziellen Anwendungen verwendet; dann in der Regel unter der kommerziellen Lizenz, auch in der Variante als embedded Server.

 

MySQL bietet eine im Bereich der DBMS einzigartige Möglichkeit: es erlaubt die Verwendung von verschiedenen Tabellentypen (Engines, zum Beispiel MyISAM, InnoDB, Berkeley DB, Memory und NDB und weitere); man kann sogar seine eigene Engine einbinden.

 

Die einzelnen Tabellentypen bieten unterschiedliche Möglichkeiten: mit und ohne Transaktionen, mit und ohne permanente Speicherung, mit und ohne Stored Procedures, mit synchroner oder asynchroner Replikation usw.

 

MySQL unterstützt beliebig viele Datenbanken; in jeder Datenbank beliebig viele Tabellen beliebiger Größe – die Beliebigkeit ist nur vom Betriebssystem beschränkt. Die Tabellen in einer Datenbank können vom Typ her beliebig gemischt sein, Anfragen können sich auf Tabellen unterschiedlichen Typs und unterschiedlicher Datenbanken beziehen, sogar auf verschiedenen Maschinen.

 

Die Möglichkeit, unterschiedliche Tabellentypen beliebig zu verwenden, macht MySQL zu einem vielseitigen RDBMS, das sich hervorragend an das jeweilige Anforderungsprofil anpassen kann. Besonderer Beliebtheit erfreut sich MySQL im Bereich von Webservern, da es hier in der Regel unter der freien Lizenz eingesetzt werden kann, was insbesondere für Provider verlockend ist.

 

Das robuste Replikationssystem, das seit der frühen Version 3.23.xx entwickelt wird, ermöglicht eine extreme Skalierung. Bekannte Webdienste setzen auf diese Weise Hunderte von MySQL-Servern ein und können damit (in Verbindung mit anderen Techniken, zum Beispiel Squid als reverse Proxy) beliebige Lasten bedienen.

 

MySQL ist als typisch relationes Datenbanksystem genauso zu behandeln wie jedes andere auch. Dies gilt insbesondere für Fragen der Optimierung, des Datenbankdesigns, der Indizierung usw. Die Tipps und Tricks für MySQL entsprechen im wesentlichen denen der anderen relationalen Datenbanksysteme. Der Server gilt als sehr robust und einfach zu verwalten.

 

Administration

 

Zur Verwaltung von MySQL-Datenbanken dient der mitgelieferte Kommandozeilen-Client (Kommandos mysql und mysqladmin).

 

Eine weit verbreitete Alternative ist die in der Skriptsprache PHP geschriebene Open-Source-Anwendung phpMyAdmin. Die grafische Benutzeroberfläche lässt sich komplett über einen Browser bedienen. Man kann damit beliebig viele Datenbanken auf beliebig vielen Maschinen von jedem beliebigen Arbeitsplatz verwalten. Alternativ hierzu kann bei lokalen Datenbanken auch das Gespann von MySQL Administrator und MySQL Query Browser von MySQL AB verwendet werden.

 

Zum Erstellen von Sicherungskopien der Datenbestände eignet sich, falls man keine Möglichkeit zur Verwendung von Cron-Jobs hat, besonders phpMyBackupPro. Mit der ebenfalls in PHP geschriebenen und somit vom Betriebssystem unabhängigen Open-Source-Anwendung lassen sich Cronjobs sowie Pseudo-Cronjobs erstellen, über die MySQL-Datenbanken (auch per E-Mail) in regelmäßigen Zeitabständen gesichert werden können.

 

Für ein unterbrechungsfreies System bietet sich die Master/Slave-Replikation an, wobei die Datensicherung auf dem Slave durchgeführt wird.