Was ist MySQL?

MySQL ist eine der beliebtesten relationalen Open-Source-Datenbanken der Welt. Sie verdankt diese Beliebtheit der weitverbreiteten Verwendung in E-Commerce-Websites, sozialen Medien und Anwendungen wie Drupal, Joomla, Magento und WordPress Sie ist außerdem ein wesentlicher Bestandteil des weitverbreiteten Webanwendungs-Stacks Linux-Apache-MySQL-PHP/Perl/Python (LAMP), der für viele beliebte Anwendungen, Websites und Dienste verwendet wird. Sie wird von DB-Engines zur zweitbeliebtesten Datenbank der Welt 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.

Von MySQL definiert

MySQL ist ein Open-Source-System zur Verwaltung relationaler Datenbanken. Wie bei anderen relationalen Datenbanken speichert MySQL Daten in Tabellen, die aus Zeilen und Spalten bestehen. Benutzer können Daten mithilfe von Structured Query Language, besser bekannt als SQL, definieren, bearbeiten, steuern und abfragen. Da es sich bei MySQL um Open Source handelt, enthält es zahlreiche Funktionen, die seit mehr als 25 Jahren in enger Zusammenarbeit mit Nutzern entwickelt wurden.

MySQL-Software ist Open Source

MySQL ist Open Source. Das bedeutet, dass es gemäß den Nutzungsbedingungen der GNU General Public License kostenlos genutzt werden kann. Das bedeutet auch, dass jeder den Quellcode der Software für seine eigene Verwendung verändern kann. Dies hat zur Abspaltung von MySQL in andere Varianten der Datenbank wie MariaDB und Percona Server for MySQL geführt. MySQL ist ebenfalls 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. 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 entwickelt, die auf dem in Edgar F. beschriebenen relationalen Modell basiert. Kabeljau Papier. Das schwedische Unternehmen MySQL AB, das von David Axmark, Allan Larsson und Michael Widenius gegründet wurde, entwickelte und veröffentlichte 1995 MySQL. Der Name „MySQL“ ist eine Kombination aus dem Namen „My“, der Tochter von Michael Wildenius, und „SQL“, was sich auf die Structure Query Language (SQL) bezieht. Sun Microsystems hat MySQL AB 2008 übernommen. MySQL ist nach der Übernahme von Sun Microsystems im Jahr 2010 derzeit im Besitz der Oracle Corporation.

MySQL wurde ursprünglich in den Programmiersprachen C und C++ entwickelt und erfreut sich wegen seiner vielen Versionen im Laufe der Jahre großer Beliebtheit, da es auf vielen Open-Source- und proprietären Betriebssystemen verfügbar ist. Die neueste Version der Datenbank, MySQL 8.0, wurde 2018 veröffentlicht.

Gabeln

Das MySQL-Projekt wurde im Laufe der Jahre aus verschiedenen Gründen mehrmals abgespalten, da einige Forks gar nicht mehr existieren. Von den verbleibenden Fork-Projekten sind MariaDB und Percona Server for MySQL die beliebtesten. MariaDB wurde von den ursprünglichen Gründern von MySQL abgespalten, um sicherzustellen, dass MySQL auch nach der Übernahme von Oracle Open Source bleibt. Percona Server for MySQL ist eine weitere Open-Source-Distribution von MySQL, die enge Kompatibilität mit MySQL aufrechterhalten soll. Weitere Informationen über MySQL-Versionen und die gesamte Umgebung rund um MySQL.

Benutzeroberfläche

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

Grafische Benutzeroberfläche (GUI)

GUIs bieten eine integrierte Umgebung mit Schaltflächen und Interaktions-Widgets, wodurch das Abfragen und Entwickeln von Anwendungen visuell dargestellt wird, anstatt textbasierte Befehle in einer Befehlszeilenschnittstelle zu verwenden. Es gibt viele MySQL-GUIs, die sowohl vom MySQL-Open-Source-Projekt als auch von externen Integratoren entwickelt wurden. Eines der beliebtesten Tools ist MySQL Workbench,das ebenfalls Open Source ist und von MySQL AB entwickelt wurde. Weitere bekannte GUIs sind phpMyAdmin, ein für die Entwicklung von Webanwendungen beliebtes Verwaltungstool, und HeidiSQL, ein Open-Source-Verwaltungstool, mit dem neben MySQL auch andere Datenbanken verwaltet werden können.

Befehlszeile

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

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 immer beliebter werdende Methode zum Hosten von MySQL ist Cloud Service Provider (CSPs). Es gibt verschiedene Möglichkeiten, MySQL in der Umgebung eines Cloud-Dienstanbieters bereitzustellen. Eine besteht darin, MySQL direkt auf einer virtuellen Maschine zu installieren und selbst zu verwalten. Die andere ist durch die Nutzung verwalteter Angebote von Cloud-Dienstanbietern, die die Verwaltung von MySQL erheblich vereinfachen, da sie sich um viele operative Aspekte der MySQL-Verwaltung kümmern. Google Cloud bietet einen verwalteten Dienst in Form von Cloud SQL. Cloud SQL for MySQL ist ein vollständig verwalteter Datenbankdienst, mit dem Sie Ihre relationalen MySQL-Datenbanken in Google Cloud einrichten, pflegen und verwalten können, wodurch der Aufwand für Datenbankadministratoren reduziert wird. Er hilft Unternehmen bei Innovationen, indem er Mehrwertdienste rund um Sicherheit, Hochverfügbarkeit und Beobachtbarkeit bietet. In diesem Artikel zu Best Practices zum Einrichten einer Cloud SQL for MySQL-Instanz erfahren Sie, wie Sie eine Cloud SQL-Instanz von MySQL einrichten. Die Migration zu Cloud SQL for MySQL von einer lokalen MySQL-Datenbank oder einer anderen Datenbank bei einem Cloud-Dienstanbieter ist dank vieler Tools und Optionen sehr einfach.

Im Artikel zu MySQL-Hostingoptionen werden die Vorteile und die Unterschiede zwischen dem vollständig verwalteten Angebot von Cloud SQL for MySQL und dem selbstverwalteten MySQL beschrieben.

Vorteile von MySQL

MySQL ist schnell, zuverlässig, skalierbar und nutzerfreundlich. MySQL kann bequem auf einem Desktop oder Laptop zusammen mit Ihren anderen Anwendungen, Webservern usw. ausgeführt werden und erfordert wenig oder keine Aufmerksamkeit. Wenn Sie MySQL auf einer ganzen Maschine zuweisen, können Sie die Einstellungen anpassen, um den gesamten verfügbaren Arbeitsspeicher, die CPU-Leistung und die E/A-Kapazität zu nutzen. MySQL kann auch auf vernetzte Maschinencluster hochskaliert werden.

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

Hochverfügbarkeit

Hochverfügbarkeit in MySQL bezieht sich auf die Fähigkeit des Datenbankmoduls, über einen längeren Zeitraum ohne Fehler zu arbeiten. Hochverfügbarkeit in MySQL kann mitunter recht komplex sein und hängt von den individuellen Verfügbarkeitsanforderungen der einzelnen Nutzer sowie davon ab, wie sie MySQL bereitstellen. Zum Einrichten von Hochverfügbarkeit in MySQL müssen sich Nutzer um Datenreplikation, Fehlererkennung, Failover- und Failback-Mechanismen und die Weiterleitung des Datenbanktraffics an die sekundäre Instanz nach einem Failover kümmern. Mit Cloud SQL for MySQL ist Hochverfügbarkeit ein einfacher Prozess. Weitere Informationen zur Hochverfügbarkeit von MySQL in Google Compute Engine oder zur vollständig verwalteten Hochverfügbarkeit von Cloud SQL for MySQL

Sicherheit

MySQL-Sicherheitsaspekte können eine Vielzahl von Faktoren betreffen. Einige wichtige Themen sind der Datenschutz, wie der Schutz von Daten vor Beschädigung durch Datenredundanzmechanismen und allgemeine Sicherheitsprozesse wie Passwörter und Berechtigungen, Zugriffssteuerung und Netzwerksicherheit. Erfahren sie mehr über die Sicherheit in Cloud SQL for MySQL und Google Clouds vollständig verwaltete MySQL-Angebote.

Sichern und wiederherstellen

MySQL unterstützt die Sicherung und Wiederherstellung von Daten mithilfe verschiedener Mechanismen, einschließlich Tools von Drittanbietern. Einige Möglichkeiten zum Sichern und Wiederherstellen von MySQL sind das Dienstprogramm „MySQLdump“, inkrementelle Sicherungen mit binären Logs und Replikation. Cloud SQL for MySQL bietet eigene Sicherungs- und Wiederherstellungsfunktionen, die automatische oder On-Demand-Sicherungen ermöglichen. 

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 einer Datenbank. MySQL bietet viele Funktionen und Feinabstimmungsoptionen und erleichtert die Entwicklung hochleistungsfähiger Anwendungen. Weitere Informationen zu diesen Funktionen finden Sie in diesem Artikel mit Tipps zur Leistungsoptimierung für MySQL. Darüber hinaus finden Sie in diesem Artikel zur Abfrageabstimmung spezifische Best Practices für die 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 finden Sie einige weitere Möglichkeiten.

Webanwendungen

MySQL ist ein wesentlicher Bestandteil vieler Webanwendungen, die heute mithilfe des Open-Source-LAMP-Stacks erstellt werden. LAMP umfasst Linux als Betriebssystem, Apache als Webserver, MySQL als Datenbank und PHP, Python oder Perl als Programmiersprache. Mit LAMP können Entwickler dynamische Webanwendungen erstellen, für die aktuelle Informationen aus einer Datenbank wie MySQL abgerufen werden müssen. Diese Informationen können Nutzerkonten, Nutzerdaten, Produktnamen, Kundendatensätze, Verkäufe und mehr umfassen. Mit SQL können Nutzende einfach auf die in der Datenbank gespeicherten Informationen zugreifen und diese bearbeiten. Weitere Informationen finden Sie unter LAMP und wie es zum Erstellen von Webanwendungen verwendet wird.

Online-Transaktionsverarbeitung

Viele Anwendungen erfordern heute 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 bilden die Grundlage für viele alltägliche Webtransaktionen, wie z. B. Finanztransaktionen, Reisebuchungen und die Aufbewahrung von Unterlagen. Zur Unterstützung von Anwendungsfällen für die Online-Transaktionsverarbeitung befolgt MySQL die ACID-Prinzipien, die Unterstützung für XML und JSON, gespeicherte Prozeduren, Clustering und Partitionierung. Sie bietet auch die Möglichkeit, aus verschiedenen Speicher-Engines auszuwählen, was Ihnen die Flexibilität gibt, Daten aus einer Vielzahl von Tabellentypen zu integrieren.

E-Commerce

MySQL ist eine beliebte Datenbank für E-Commerce-Anwendungen, für die die Verwaltung von Benutzern, Verbraucherinformationen und Finanzdaten sowie die Analyse von Trends erforderlich ist, um betrügerische Aktivitäten zu verhindern. Eine relationale Datenbank wie MySQL kann verwendet werden, um Informationen in Tabellen (Produkte, Kundschaft, Bestellungen) zu organisieren, und bei Bedarf können weitere Tabellen hinzugefügt werden. Einige der weltgrößten Unternehmen 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 relationale Datenbank für strukturierte Daten und als 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 in Betrieb und erfordern daher nur minimale Ausfallzeiten, Sicherheit und Skalierbarkeit, wenn sich die Anforderungen ändern. MySQL hat sich als beliebte Datenbankoption für die Erstellung von SaaS-Anwendungen entwickelt, da es sich einfach bereitstellen, verwalten und skalieren lässt. Da es sich um Open Source handelt, können Entwickler schnell loslegen, ohne Lizenzgebühren für proprietäre Software zahlen zu müssen. Die globale MySQL-Community ist aktiv und hat zur Entwicklung von 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. In CMS werden Posts, Seiten, Bilder, Kommentare, Kategorien, Tags, benutzerdefinierte Felder, Nutzer und andere Einstellungen in der MySQL-Datenbank gespeichert. Da CMS oft Tausende oder sogar Millionen von Konten täglich 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 Social-Media-Anwendungen ist die Notwendigkeit von Verbindungen zwischen verschiedenen Datenspeichern wie Nutzenden, Gruppen und Kommentaren. Diese Art von Anwendungsfall führt dazu, dass relationale Datenbanken für Social-Media-Anwendungen bevorzugt werden, wobei MySQL die erste Wahl ist. Einige bemerkenswerte Beispiele sind Twitter, Pinterest und LinkedIn.

Möchten Sie MySQL ausprobieren?

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

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

Gleich loslegen

Profitieren Sie von einem Guthaben über 300 $, um Google Cloud und mehr als 20 „Immer kostenlos“-Produkte kennenzulernen.

Google Cloud
  • ‪English‬
  • ‪Deutsch‬
  • ‪Español‬
  • ‪Español (Latinoamérica)‬
  • ‪Français‬
  • ‪Indonesia‬
  • ‪Italiano‬
  • ‪Português (Brasil)‬
  • ‪简体中文‬
  • ‪繁體中文‬
  • ‪日本語‬
  • ‪한국어‬
Console
Google Cloud