Definition

MySQL

MySQL ist ein Open-Source-System zur Verwaltung relationaler Datenbanken (RDBMS), das auf der Structured Query Language (SQL) basiert. MySQL läuft auf praktisch allen Plattformen, einschließlich Linux, UNIX und Windows. Obwohl es in einer Vielzahl von Anwendungen eingesetzt werden kann, kommt MySQL am häufigsten bei Webanwendungen zum Einsatz.

MySQL ist eine wichtige Komponente eines Open-Source-Enterprise-Stacks namens LAMP (sowie XAMPP und MAMP). LAMP ist eine Webentwicklungsplattform, die Linux als Betriebssystem, Apache als Webserver, MySQL als relationales Datenbankmanagementsystem (RDBMS) und PHP als objektorientierte Skriptsprache verwendet. (Manchmal wird anstelle von PHP Perl oder Python verwendet).

Ursprünglich von der schwedischen Firma MySQL AB konzipiert, wurde MySQL 2008 von Sun Microsystems und 2010 von Oracle nach dem Kauf von Sun übernommen. Entwickler können MySQL unter der GNU General Public License(GPL) verwenden, aber Unternehmen müssen eine kommerzielle Lizenz von Oracle erwerben.

Heute ist MySQL das RDBMS hinter vielen der Top-Websites der Welt und zahllosen webbasierten Anwendungen für Unternehmen und Verbraucher, darunter Facebook, Twitter und YouTube.

Wie MySQL funktioniert

MySQL basiert auf einem Client-Server-Modell. Der Kern von MySQL ist der MySQL-Server, der alle Datenbankanweisungen (oder Befehle) verarbeitet. Der MySQL-Server ist als separates Programm für den Einsatz in einer Client-Server-Netzwerkumgebung und als Bibliothek verfügbar, die in separate Anwendungen eingebettet (oder verlinkt) werden kann.

MySQL arbeitet mit verschiedenen Hilfsprogrammen zusammen, die die Verwaltung von MySQL-Datenbanken unterstützen. Die Befehle werden über den MySQL-Client, der auf einem Rechner installiert ist, an den MySQLServer gesendet.

MySQL wurde ursprünglich entwickelt, um große Datenbanken schnell zu verwalten. Obwohl MySQL typischerweise nur auf einem Rechner installiert ist, ist es in der Lage, die Datenbank an mehrere Standorte zu senden, da die Benutzer über verschiedene MySQL-Client-Schnittstellen darauf zugreifen können. Diese Schnittstellen senden SQL-Anweisungen an den Server und zeigen dann die Ergebnisse an.

Die wichtigsten MySQL-Funktionen

MySQL ermöglicht die Speicherung von Daten und den Zugriff auf diese über mehrere Speicher-Engines, einschließlich InnoDB, CSV und NDB. MySQL ist außerdem in der Lage, Daten zu replizieren und Tabellen zu partitionieren, um die Leistung und Haltbarkeit zu verbessern. MySQL-Benutzer müssen keine neuen Befehle erlernen; sie können mit Standard-SQL-Befehlen auf ihre Daten zugreifen.

MySQL ist in C und C++ geschrieben und auf über 20 Plattformen, darunter macOS, Windows, Linux und Unix, verfügbar. Das RDBMS unterstützt große Datenbanken mit Millionen von Datensätzen und unterstützt viele Datentypen, einschließlich ganze Zahlen mit oder ohne Vorzeichen mit 1, 2, 3, 4 und 8 Bytes Länge; FLOAT; DOUBLE; CHAR; VARCHAR; BINÄR; VARBINÄR; TEXT; BLOB; DATE; TIME; DATETIME; TIMESTAMP; YEAR; SET; ENUM sowie OpenGIS-Raumtypen. String-Typen mit fester und variabler Länge werden ebenfalls unterstützt.

Zur Sicherheit verwendet MySQL ein System von Zugriffsberechtigungen und verschlüsselten Kennwörtern, das eine Host-basierte Überprüfung ermöglicht. MySQL-Clients können sich über verschiedene Protokolle, einschließlich TCP/IP-Sockets auf jeder Plattform, mit dem MySQL-Server verbinden. MySQL unterstützt eine Reihe von Client- und Dienstprogrammen, Befehlszeilenprogrammen und Management Tools wie MySQL Workbench.

Zu den Ablegern von MySQL, auch als Forks bekannt, gehören:

  • Drizzle, ein leichtgewichtiges Open-Source-Datenbankmanagementsystem, das auf MySQL 6.0 basiert;
  • MariaDB, ein populärer, von der Community entwickelter „Drop-in“-Ersatz für MySQL, der die MySQL-APIs und -Befehle verwendet; und
  • Percona Server mit XtraDB, einer erweiterten Version von MySQL, die für ihre horizontale Skalierbarkeit bekannt ist.

MySQL versus SQL

Vor 2016 bestand der Hauptunterschied zwischen MySQL und SQL darin, dass Ersteres auf mehreren Plattformen eingesetzt werden konnte, während Letzteres nur unter Windows möglich war. 2017 hat Microsoft die SQL-Unterstützung auf Linux erweitert. Wenn MySQL über Linux installiert wird, erfordert sein Paketverwaltungssystem eine benutzerdefinierte Konfiguration, um die Sicherheits- und Optimierungseinstellungen anzupassen.

MySQL ermöglicht es Benutzern auch, die effektivste Storage Engine (Speichersubystem) für eine bestimmte Tabelle zu wählen, da das Programm in der Lage ist, mehrere Storage Engines für einzelne Tabellen zu nutzen. Eine der MySQL-Engines ist InnoDB. InnoDB wurde für hohe Verfügbarkeit konzipiert. Aus diesem Grund ist es nicht so schnell wie andere Engines.

SQL verwendet ein eigenes Speichersystem, aber es bietet mehrere Sicherheitsvorkehrungen gegen Datenverlust. Beide Systeme sind in der Lage, für hohe Verfügbarkeit in Clustern zu laufen.

SQL Server bietet eine große Auswahl an Datenanalyse- und Berichtswerkzeuges. SQL Server Reporting Services ist das beliebteste und steht als kostenloser Download zur Verfügung. Es gibt ähnliche Analysewerkzeuge für MySQL, die von Drittanbieter-Softwarefirmen erhältlich sind, wie Crystal Reports XI (SAP) und Actuate BIRT (MongoDB).

Kompatibilität mit anderen Diensten

MySQL wurde entworfen, um mit anderen Systemen kompatibel zu sein. Es unterstützt den Einsatz in virtualisierten Umgebungen, wie zum Beispiel Amazon RDS für MySQL, Amazon RDS for MariaDB und Amazon Aurora. Benutzer können ihre Daten in eine SQL-Server-Datenbank übertragen, indem sie Datenbankmigrationswerkzeuge wie das AWS Schema Conversion Tool und den AWS Database Migration Service verwenden.

Die Datenbankobjektsemantik von SQL Server und MySQL ist ähnlich, aber nicht identisch. Es gibt architektonische Unterschiede, die bei der Migration von SQL Server zu MySQL berücksichtigt werden müssen. In MySQL gibt es keinen Unterschied zwischen einer Datenbank und einem Schema, während SQL Server die beiden als separate Entitäten behandelt.

Diese Definition wurde zuletzt im März 2020 aktualisiert

Erfahren Sie mehr über Datenbanken