Weiter zu

Was ist MySQL?

MySQL ist eine der beliebtesten Open-Source-relationalen Datenbanken der Welt. Das liegt daran, dass es sehr häufig in E-Commerce-Websites, sozialen Medien und Anwendungen eingesetzt wird, einschließlich Drupal ,Joomla ,Magento , und WordPress. Es ist außerdem ein wesentlicher Bestandteil des weit verbreiteten Webanwendungs-Stacks Linux-Apache-MySQL-PHP/Perl/Python (LAMP) auf dem viele beliebte Anwendungen, Websites und Dienste basieren. Es wurde von DB-Engines als weltweit zweitbeliebteste Datenbank eingestuft.

Hier erfahren Sie, wie Sie mit der verwalteten relationalen Datenbank von Google Cloud namens Cloud SQL for MySQL die Betriebskosten senken und die Effizienz verbessern können.

MySQL definiert

MySQL ist ein Open-Source-Managementsystem für relationale Datenbanken. Wie bei anderen relationalen Datenbanken speichert MySQL Daten in Tabellen, die aus Zeilen und Spalten bestehen. Nutzer können Daten mit Structured Query Language (SQL) definieren, bearbeiten, kontrollieren und abfragen. MySQL ist eine Open-Source-Lösung und umfasst zahlreiche Features, die seit über 25 Jahren in enger Zusammenarbeit mit den Nutzern entwickelt wurden.

MySQL-Software ist Open Source

MySQL ist ein Open-Source-Produkt und kann im Rahmen der GNU General Public License kostenlos verwendet werden. Dies bedeutet auch, dass jeder den Quellcode der Software für seine eigene Nutzung ändern darf. Dies hat zur Verzweigung von MySQL in andere Datenbankvarianten geführt, z. B. MariaDB und Percona Server for MySQL. MySQL ist auch unter anderen Lizenzen für die kommerzielle Nutzung verfügbar.

Relationale Datenbank

MySQL gehört zu einer Kategorie von Datenbanken, die relationalen Datenbankverwaltungssysteme (RDBMS) heisst. Eine relationale Datenbank ist eine Sammlung von Informationen, bei der Daten in vordefinierten Beziehungen organisiert sind. Die Daten sind dabei in einer oder in mehreren Tabellen (oder „Beziehungen“) mit Spalten und Zeilen gespeichert sind. Dies vereinfacht das Verständnis, wie sich die verschiedenen Datenstrukturen aufeinander beziehen. Beziehungen sind eine logische Verbindung zwischen verschiedenen Tabellen, die auf der Grundlage von Interaktionen zwischen diesen Tabellen hergestellt wird.

Verlauf

MySQL wurde als Erweiterung der kommerziellen Programmiersprache SQL erstellt, die basiert auf dem in Edgar F beschriebenen relationalen Modell. Codds Artikel. Das schwedische Unternehmen MySQL AB, das von David Axmark, Allan Larsson und Michael Widenius gegründet wurde, hat MySQL 1995 entwickelt und veröffentlicht. Der Name „MySQL“ ist eine Kombination aus dem Namen der Tochter von Michael Wildenius „My“ und „SQL“, was sich auf "Structure Query Language" (SQL) bezieht. Sun Microsystems hat 2008 MySQL AB übernommen. MySQL ist nach der Übernahme von Sun Microsystems im Jahr 2010 derzeit Eigentum der Oracle Corporation.

MySQL wurde ursprünglich in den Programmiersprachen C und C++ entwickelt und ist im Laufe der Jahre aufgrund seiner vielen Versionen sehr beliebt geworden wegen seiner Verfügbarkeit auf vielen Open-Source- und proprietären Betriebssystemen. Die neueste Version der Datenbank, MySQL Version 8.0, wurde 2018 veröffentlicht.

Gabeln

Das MySQL-Projekt wurde im Laufe der Jahre aus verschiedenen Gründen vielfach verzweigt, wobei einige der Forks nicht mehr vorhanden sind. Die beliebtesten der verbliebenen Fork-Projekte sind MariaDB und Percona Server for MySQL. MariaDB wurde von den ursprünglichen Gründern von MySQL abgezweigt, um dafür zu sorgen, dass MySQL Open-Source bleibt, nachdem durch die Oracle-Akquisition Kommerzialisierungsbedenken aufkamen. Percona Server for MySQL ist eine weitere Open-Source-Distribution von MySQL, die eine enge Kompatibilität mit MySQL gewährleisten soll. Weitere Informationen zu MySQL-Versionen und zum gesamten System rund um MySQL.

Benutzeroberfläche

Auf MySQL kann entweder über eine grafische Benutzeroberfläche (GUI) oder über Befehlszeilentools zugegriffen werden. 

Grafische Benutzeroberfläche

GUIs bieten eine integrierte Umgebung, die aus Schaltflächen und Interaktions-Widgets besteht, die die Abfrage und Entwicklung von Anwendungen visuell darstellen, anstatt textbasierte Befehle in einer Befehlszeile zu verwenden. Es gibt viele MySQL-GUIs, die sowohl vom MySQL-Open-Source-Projekt als auch von Drittanbietern entwickelt wurden. Eine der beliebtesten ist MySQL Workbench, eine Open-Source-Software, die von MySQL AB entwickelt wurde. Weitere bekannte GUIs sind phpMyAdmin, ein Verwaltungstool beliebt für die Entwicklung von Webanwendungen, und HeidiSQL, ein Open-Source-Verwaltungstool, das neben MySQL für die Verwaltung anderer Datenbanken verwendet werden kann.

Befehlszeile

Auf MySQL kann auch über Befehlszeilentools zugegriffen werden. Diese Tools, die auch als MySQL-Dienstprogramme bezeichnet werden, werden mit MySQL-Distribution ausgeliefert und mit Textbefehlen aufgerufen, entweder in der MySQL-Shell oder anderen Befehlszeilentools wie Percona Toolkit.

MySQL bereitstellen

Ein Nutzer kann MySQL manuell mit dem Open-Source-Code auf seiner eigenen physischen Maschine bereitstellen oder eine der gepackten Distributionen herunterladen, um es bereitzustellen. MySQL wird am häufigsten auf einer einzelnen Instanz oder Maschine installiert, wobei die vertikale Skalierung die primäre Möglichkeit ist, die Leistung zu verbessern. MySQL kann jedoch in einer replizierten Konfiguration mit einem primären Knoten und vielen sekundären Knoten eingerichtet werden, die bei einem Ausfall einer Instanz auf primäre Knoten hochgestuft werden können.

Eine weitere zunehmend beliebte Möglichkeit, MySQL zu hosten, ist die Nutzung von Cloud-Dienstanbietern (CSPs). Es gibt verschiedene Möglichkeiten, MySQL in der Umgebung eines Cloud-Dienstanbieters bereitzustellen. Zum einen können Sie MySQL direkt auf einer virtuellen Maschine installieren und es selbst verwalten. Die andere Möglichkeit sind verwaltete Angebote von Cloud-Dienstanbietern, die die Verwaltung von MySQL erheblich vereinfachen, indem sie viele operative Aspekte der Verwaltung von MySQL übernehmen. Google Cloud bietet einen verwalteten Dienst in Form von Cloud SQL. Cloud SQL for MySQL ist ein vollständig verwalteter Datenbankdienst, mit dem Sie relationale MySQL-Datenbanken auf Google Cloud einrichten, pflegen und verwalten und administrieren können. Das reduziert den Aufwand für Datenbankadministratoren und unterstützt Organisationen bei Innovationen, indem sie Mehrwert-Zusatzdienste rund um Sicherheit, Hochverfügbarkeit und Beobachtbarkeit erhalten. Erfahren Sie, wie Sie eine Cloud SQL-Instanz von MySQL einrichten im Artikel zum Thema Best Practices zum Einrichten einer Cloud SQL for MySQL-Instanz. Die Migration zu Cloud SQL for MySQL von einer lokalen MySQL-Datenbank oder von einer anderen Datenbank bei einem Cloud-Dienstanbieter ist mit vielen Tools und Optionen, die für die Nutzer verfügbar sind, sehr leicht gemacht.

Informationen zu den Vorteilen und Unterschieden zwischen dem vollständig verwalteten Angebot von Cloud SQL for MySQL und dem selbstverwalteten MySQL finden Sie im Artikel zu MySQL-Hosting-Optionen.

Vorteile von MySQL

MySQL ist schnell, zuverlässig, skalierbar und nutzerfreundlich. MySQL kann bequem auf einem Computer oder Laptop zusammen mit Ihren anderen Anwendungen, Webservern usw. ausgeführt werden und erfordert nur wenig oder keine Aufmerksamkeit. Wenn Sie einen gesamten Computer für MySQL bereitstellen, können Sie die Einstellungen anpassen, um den gesamten Arbeitsspeicher, die CPU-Leistung und die E/A-Kapazität zu nutzen. MySQL kann auch auf Cluster von Maschinen hochskaliert werden, die miteinander vernetzt sind.

Die Verwendung von MySQL zur Verwaltung und Speicherung von Daten hat viele weitere Vorteile, darunter:

Hochverfügbarkeit

Hochverfügbarkeit (High Availability, HA) in MySQL bezieht sich auf die Fähigkeit des Datenbankmoduls, über einen längeren Zeitraum ohne Fehler zu arbeiten. Die Hochverfügbarkeit in MySQL kann ziemlich komplex sein und hängt von den jeweiligen Verfügbarkeitsanforderungen des Nutzers und der Art der Bereitstellung von MySQL des Nutzers ab. Zum Einrichten von Hochverfügbarkeit in MySQL müssen sich Nutzer Gedanken über Datenreplikation, Fehlererkennung, Failover- und Failback-Mechanismen und die Weiterleitung des Datenbanktraffics an die sekundäre Instanz nach einem Failover machen. Mit Cloud SQL for MySQL können Sie Hochverfügbarkeit ganz einfach durchführen. Weitere Informationen zur Hochverfügbarkeit für MySQL in Google Compute Engine oder zur vollständig verwalteten Hochverfügbarkeits-Erlebnis von Cloud SQL for MySQL

Sicherheit

Sicherheitsaspekte in MySQL können eine Vielzahl von Faktoren umfassen. Einige wichtige betreffen den Datenschutz, wie den Schutz von Daten vor Korruption über Datenredundanzmechanismen und allgemeine Sicherheitsprozesse wie Passwörter und Berechtigungen, Zugriffssteuerung und Netzwerksicherheit. Weitere Informationen zur Sicherheit in Cloud SQL for MySQL, dem vollständig verwalteten MySQL-Angebot von Google Cloud.

Sichern und wiederherstellen

MySQL unterstützt die Sicherung und Wiederherstellung von Daten über mehrere Mechanismen, einschließlich Tools von Drittanbietern. MySQL kann über das Dienstprogramm mysqldump, inkrementelle Sicherungen mit binären Logs und die Replikation gesichert und wiederhergestellt werden. Cloud SQL for MySQL bietet eigene Sicherungs- und Wiederherstellungsfeatures, die automatische oder On-Demand-Sicherungen ermöglichen. Weitere Informationen dazu

Flexibel

Sie können damit jederzeit Tabellen, Beziehungen und Änderungen an Daten hinzufügen, aktualisieren oder löschen, ohne die Gesamtdatenbankstruktur oder die vorhandenen Anwendungen ändern zu müssen.

Nutzerfreundlichkeit

Es ist einfach, komplexe Abfragen mit SQL auszuführen. Dadurch können neue Nutzer intuitiv mit der Datenbank interagieren.

Leistung

Die Leistungsoptimierung ist ein wichtiger Aspekt bei der Verwaltung jeder Datenbank. Mit MySQL können Sie durch dessen Bereitstellung vieler Funktionen und Feinabstimmungsoptionen ganz einfach leistungsstarke Anwendungen entwickeln. Weitere Informationen zu solchen Features finden Sie in diesem Artikel mit Tipps zur Leistungsoptimierung für MySQL. Dieser andere Artikel zur Feinabstimmung von Abfragen enthält auch spezifische Best Practices zur Leistung.

MySQL unterstützt ACID-Attribute (Atomarität, Konsistenz, Isolation, Langlebigkeit), die die Datengültigkeit unabhängig von Fehlern, Ausfällen oder anderen potenziellen Pannen gewährleisten.

Anwendungsfälle

Aufgrund seiner Vielseitigkeit kann MySQL für viele verschiedene Anwendungsfälle verwendet werden. Unten findest du einige, die du genauer ansehen kannst.

Webanwendungen

MySQL ist ein wesentlicher Bestandteil vieler Webanwendungen, die heutzutage mit dem Open-Source-LAMP-Stack erstellt werden. LAMP umfasst Linux als Betriebssystem, Apache als Webserver, MySQL als Datenbank und PHP, Python oder Perl als Programmiersprache. LAMP unterstützt Entwickler bei der Erstellung dynamischer Webanwendungen, für die aktuelle Informationen aus einer Datenbank wie MySQL abgerufen werden müssen. Zu den Informationen gehören z. B. Nutzerkonten, Nutzerdetails, Produktnamen, Kundendaten und Verkäufe und mehr. Mit SQL können Nutzer leicht auf Informationen zugreifen und sie bearbeiten, die in der Datenbank gespeichert sind. Weitere Informationen finden Sie unter LAMP und dessen Verwendung für das Erstellen von Webanwendungen.

Online-Transaktionsverarbeitung

Viele Anwendungen benötigen heutzutage eine Datenbank wie MySQL, die schnell eine große Anzahl von Datenbanktransaktionen von einer großen Anzahl von Personen verarbeiten kann. OLTP-Datenbanken wie MySQL sind die Grundlage für viele alltägliche Webtransaktionen, z. B. Finanztransaktionen, Reisebuchungen und Dokumentationsvorgänge und mehr. MySQL hält die ACID-Prinzipien ein, um Anwendungsfälle für die Online-Transaktionsverarbeitung zu unterstützen und bietet Unterstützung von XML und JSON, gespeicherte Verfahren, Clustering und Partitionierung. Außerdem haben Sie die Möglichkeit, aus verschiedenen Speicher-Engines zu wählen, was Ihnen die Flexibilität bietet, Daten aus einer Vielzahl von Tabellentypen zu integrieren.

E-Commerce

MySQL ist eine beliebte Datenbank für E-Commerce-Anwendungen, bei der Nutzer, Verbraucherinformationen und Finanzdaten verwaltet und Trends analysiert werden müssen, um betrügerische Aktivitäten zu verhindern. Eine relationale Datenbank wie MySQL kann zum Organisieren von Informationen in Tabellen (Produkte, Kunden, Bestellungen) verwendet werden. Zusätzliche Tabellen können nach Bedarf hinzugefügt werden. Einige der weltgrößten Organisationen wie Airbnb, Uber, Netflix, Booking.com, Spotify und eBay nutzen MySQL für ihre E-Commerce-Anwendungen. MySQL kann auch in einer Hybridbereitstellung bereitgestellt werden, um E-Commerce-Anwendungsfälle vollständig zu unterstützen. MySQL kann als die relationale Datenbank für strukturierte Daten und eine nicht relationale Datenbank für unstrukturierte Daten wie Produktdetails oder Marketinginformationen verwendet werden. 

SaaS-Anwendungen

SaaS-Anwendungen sind in der Regel rund um die Uhr verfügbar. Sie erfordern daher minimale Ausfallzeiten, Sicherheit und Skalierungsmöglichkeiten, wenn sich die Anforderungen ändern. MySQL ist eine beliebte Datenbankoption zum Erstellen von SaaS-Anwendungen, da sie einfach bereitgestellt, verwaltet und skaliert werden kann. Da es sich um eine Open-Source-Lösung handelt, können Entwickler schnell und ohne Lizenzgebühren für proprietäre Software starten. Die globale MySQL-Community ist aktiv und hat zu Plug-ins beigetragen, die zusätzliche Funktionen bieten.

Content-Management

MySQL ist eine beliebte Datenbank für Content-Management-Systeme (CMS) wie WordPress und Drupal. CMS speichern Beiträge, Seiten, Bilder, Kommentare, Kategorien, Tags, benutzerdefinierte Felder, Nutzer und andere Einstellungen in der MySQL-Datenbank. Da CMS täglich Tausende oder sogar Millionen von Konten haben, kann MySQL große Tabellen und mehrere Abfragen gleichzeitig verarbeiten. Wenn Ihre Zielgruppe wächst, kann MySQL vertikal oder horizontal skaliert werden, um Ihre Geschäftsanforderungen zu erfüllen. 

Soziale Medien

Ein wichtiger Aspekt von Anwendungen der sozialen Medien ist die Notwendigkeit von Verbindungen zwischen verschiedenen Datenspeichern wie Nutzern, Gruppen und Kommentaren. Diese Art von Anwendungsfall führt dazu, dass relationale Datenbanken für Anwendungen der sozialen Medien bevorzugt werden, wobei MySQL zur ersten Wahl gehört. Beispiele: Twitter, Pinterest und LinkedIn.

Möchten Sie MySQL ausprobieren?

Google Cloud bietet ein vollständig verwaltetes MySQL-Angebot, Cloud SQL for MySQL.
Informationen zu Cloud SQL

Lernen wie Cloud SQL for MySQL unterstützt Sie bei Innovationen. Dokumentation ansehen

Google Cloud bietet eine verwaltete MySQL-Datenbank, die auf Ihre geschäftlichen Anforderungen zugeschnitten ist – von der Stilllegung Ihres lokalen Rechenzentrums über die Ausführung von SaaS-Anwendungen bis hin zur Migration von Kerngeschäftssystemen.