MySQL- MySQL

MySQL
MySQL-logo.svg
Mysql-screenshot.PNG
Screenshot des standardmäßigen MySQL-Befehlszeilenbanners und der Eingabeaufforderung
Originalautor(en) MySQL AB
Entwickler Oracle Corporation
Erstveröffentlichung 23. Mai 1995 ; vor 26 Jahren ( 1995-05-23 )
Stabile Version
8.0.26  Bearbeiten Sie dies auf Wikidata / 20. Juli 2021 ; Vor 2 Monaten ( 20. Juli 2021 )
Repository
Geschrieben in C , C++
Betriebssystem Linux , Solaris , macOS , Windows , FreeBSD
Verfügbar in Englisch
Typ RDBMS
Lizenz GPLv2 oder proprietär
Webseite www .mysql .com Bearbeiten Sie dies auf Wikidata

MySQL ( / ˌ m ˌ ɛ s ˌ k ju ɛ l / ) ist ein Open-Source - relationale Datenbank - Management - System (RDBMS). Der Name setzt sich zusammen aus "My", dem Namen der Tochter des Mitbegründers Michael Widenius , und " SQL ", der Abkürzung für Structured Query Language . Eine relationale Datenbank organisiert Daten in einer oder mehreren Datentabellen, in denen Datentypen miteinander in Beziehung stehen können; diese Beziehungen helfen, die Daten zu strukturieren. SQL ist eine Sprache, die Programmierer verwenden, um Daten aus der relationalen Datenbank zu erstellen, zu ändern und zu extrahieren sowie den Benutzerzugriff auf die Datenbank zu steuern. Neben relationalen Datenbanken und SQL arbeitet ein RDBMS wie MySQL mit einem Betriebssystem , um eine relationale Datenbank in das Speichersystem eines Computers zu implementieren, verwaltet Benutzer, ermöglicht den Netzwerkzugriff und erleichtert das Testen der Datenbankintegrität und das Erstellen von Backups.

MySQL ist freie Open-Source-Software unter den Bedingungen der GNU General Public License und steht auch unter einer Vielzahl von proprietären Lizenzen zur Verfügung. MySQL war im Besitz und gesponsert von der schwedischen Firma MySQL AB , die von Sun Microsystems (jetzt Oracle Corporation ) gekauft wurde. Im Jahr 2010, wenn Oracle Sun erworben, Widenius gegabelt das Open-Source - MySQL - Projekt erstellen MariaDB .

MySQL verfügt über eigenständige Clients, die es Benutzern ermöglichen, mithilfe von SQL direkt mit einer MySQL-Datenbank zu interagieren, aber häufiger wird MySQL mit anderen Programmen verwendet, um Anwendungen zu implementieren, die relationale Datenbankfähigkeiten benötigen. MySQL ist eine Komponente des LAMP- Webanwendungs- Software-Stacks (und anderer ), die ein Akronym für Linux , Apache , MySQL, Perl / PHP / Python ist . MySQL wird von vielen datenbankgesteuerten Webanwendungen verwendet, darunter Drupal , Joomla , phpBB und WordPress . MySQL wird auch von vielen beliebten Websites verwendet , darunter Facebook , Flickr , MediaWiki , Twitter und YouTube .

Überblick

MySQL ist in C und C++ geschrieben . Sein SQL-Parser ist in yacc geschrieben , verwendet aber einen selbstgebastelten lexikalischen Analysator . MySQL funktioniert auf vielen Systemplattformen , einschließlich AIX , BSDi , FreeBSD , HP-UX , ArcaOS , eComStation , IBM i , IRIX , Linux , macOS , Microsoft Windows , NetBSD , Novell NetWare , OpenBSD , OpenSolaris , OS/2 Warp, QNX , Oracle Solaris , Symbian , SunOS , SCO OpenServer , SCO UnixWare , Sanos und Tru64 . Eine Portierung von MySQL auf OpenVMS existiert ebenfalls.

Die MySQL-Serversoftware selbst und die Clientbibliotheken verwenden eine duale Lizenzverteilung . Sie werden unter GPL Version 2 oder einer proprietären Lizenz angeboten.

Support erhalten Sie über das offizielle Handbuch. Kostenloser Support ist zusätzlich in verschiedenen IRC-Kanälen und Foren verfügbar. Oracle bietet über seine MySQL Enterprise-Produkte kostenpflichtigen Support. Sie unterscheiden sich im Leistungsumfang und im Preis. Darüber hinaus gibt es eine Reihe von Drittorganisationen, die Unterstützung und Dienstleistungen anbieten.

MySQL hat positive Bewertungen erhalten, und Rezensenten haben festgestellt, dass es "im durchschnittlichen Fall extrem gut abschneidet" und dass "die Entwicklerschnittstellen vorhanden sind und die Dokumentation (ganz zu schweigen von Feedback in der realen Welt über Websites und dergleichen) sehr, sehr gut". Es wurde auch als "schneller, stabiler und echter Multi-User-Multithread-SQL-Datenbankserver" getestet.

Geschichte

David Axmark (links) und Michael "Monty" Widenius, Gründer von MySQL AB, im Jahr 2003

MySQL wurde von einem schwedischen Unternehmen, MySQL AB, erstellt , das von den Schweden David Axmark , Allan Larsson und dem finnischen Schweden Michael "Monty" Widenius gegründet wurde . Die ursprüngliche Entwicklung von MySQL durch Widenius und Axmark begann 1994. Die erste Version von MySQL erschien am 23. Mai 1995. Sie wurde ursprünglich für den persönlichen Gebrauch von mSQL basierend auf der Low-Level-Sprache ISAM erstellt , die den Entwicklern als zu langsam und unflexibel galt. Sie erstellten eine neue SQL- Schnittstelle, wobei die gleiche API wie bei mSQL beibehalten wurde. Indem die API mit dem mSQL-System konsistent gehalten wurde, konnten viele Entwickler MySQL anstelle des (proprietär lizenzierten) mSQL-Vorläufers verwenden.

Meilensteine

Weitere Meilensteine ​​in der MySQL-Entwicklung waren:

  • Erste interne Veröffentlichung am 23. Mai 1995
  • Version 3.19: Ende 1996, von www.tcx.se
  • Version 3.20: Januar 1997
  • Die Windows-Version wurde am 8. Januar 1998 für Windows 95 und NT veröffentlicht
  • Version 3.21: Produktionsfreigabe 1998, von www.mysql.com
  • Version 3.22: Alpha, Beta von 1998
  • Version 3.23: Beta vom Juni 2000, Produktionsfreigabe 22. Januar 2001
  • Version 4.0: Beta ab August 2002, Produktionsfreigabe März 2003 ( Gewerkschaften ).
  • Version 4.1: Beta vom Juni 2004, Produktionsfreigabe Oktober 2004 ( R-Trees und B-Trees , Unterabfragen, vorbereitete Anweisungen).
  • Version 5.0: Beta vom März 2005, Produktionsfreigabe Oktober 2005 (Cursoren, Stored Procedures, Trigger, Views, XA-Transaktionen ).
Der Entwickler der Federated Storage Engine gibt an, dass "Die Federated Storage Engine ist eine Proof-of-Concept- Speicher-Engine", aber die Hauptdistributionen von MySQL Version 5.0 enthalten sie und haben sie standardmäßig aktiviert. Die Dokumentation einiger der Mängel ist in "MySQL Federated Tables: The Missing Manual" enthalten.
Version 5.1 enthielt 20 bekannte Fehler mit Abstürzen und falschen Ergebnissen zusätzlich zu den 35 in Version 5.0 vorhandenen (fast alle seit Version 5.1.51 behoben) .
MySQL 5.1 und 6.0-alpha zeigten bei der Verwendung für Data Warehousing eine schlechte Leistung  – teilweise aufgrund der Unfähigkeit, mehrere CPU-Kerne für die Verarbeitung einer einzelnen Abfrage zu verwenden.
  • Oracle hat Sun Microsystems am 27. Januar 2010 übernommen.
  • An dem Tag, an dem Oracle den Kauf von Sun ankündigte, spaltete Michael "Monty" Widenius MySQL, startete MariaDB und nahm eine ganze Reihe von MySQL-Entwicklern mit.
Geir Høydalsvik, aktuell Senior Software Development Director für MySQL bei Oracle im Jahr 2018
  • MySQL Server 5.5 war allgemein verfügbar (Stand Dezember 2010). Zu den Verbesserungen und Funktionen gehören:
    • Die Standardspeicher-Engine ist InnoDB , die Transaktionen und Einschränkungen der referenziellen Integrität unterstützt.
    • Verbessertes InnoDB I/O-Subsystem
    • Verbesserte SMP- Unterstützung
    • Semisynchrone Replikation.
    • SIGNAL- und RESIGNAL-Anweisung gemäß SQL-Standard.
    • Unterstützung für zusätzliche Unicode-Zeichensätze utf16, utf32 und utf8mb4.
    • Neue Optionen für die benutzerdefinierte Partitionierung.
  • MySQL Server 6.0.11-alpha wurde am 22. Mai 2009 als letzte Version der 6.0-Reihe angekündigt. Zukünftige MySQL Server-Entwicklungen verwenden ein neues Release-Modell. Für 6.0 entwickelte Funktionen werden in zukünftige Versionen integriert.
  • Die allgemeine Verfügbarkeit von MySQL 5.6 wurde im Februar 2013 angekündigt. Zu den neuen Funktionen gehörten Leistungsverbesserungen des Abfrageoptimierers , höherer Transaktionsdurchsatz in InnoDB, neue Memcached-APIs im NoSQL- Stil, Verbesserungen der Partitionierung zum Abfragen und Verwalten sehr großer Tabellen, TIMESTAMP-Spaltentyp , der speichert Millisekunden korrekt, verbessert die Replikation und verbessert die Leistungsüberwachung, indem die über das PERFORMANCE_SCHEMA verfügbaren Daten erweitert werden . Die InnoDB-Speicher-Engine bietet auch Unterstützung für die Volltextsuche und eine verbesserte Gruppen-Commit-Leistung.
  • Die allgemeine Verfügbarkeit von MySQL 5.7 wurde im Oktober 2015 angekündigt. Ab MySQL 5.7.8, August 2015, unterstützt MySQL einen nativen JSON- Datentyp, der durch RFC 7159 definiert ist.
  • MySQL Server 8.0 wurde im April 2018 angekündigt, einschließlich NoSQL Document Store, atomaren und absturzsicheren DDL-Sätzen und JSON Extended-Syntax, neuen Funktionen wie JSON-Tabellenfunktionen, verbesserter Sortierung und Teilaktualisierungen. Der frühere MySQL Server 8.0.0-dmr (Milestone Release) wurde am 12. September 2016 angekündigt.
  • MySQL wurde vom DB-Engines-Ranking zum DBMS des Jahres 2019 gekürt

Veröffentlichungsverlauf

Veröffentlichung Allgemeine Verfügbarkeit Neueste Nebenversion Neueste Erscheinung Ende des Supports
Alte Version, nicht mehr gepflegt: 5.1 14. November 2008 ; vor 12 Jahren ( 2008-11-14 ) 5.1.73 2013-12-03 Dezember 2013
Alte Version, nicht mehr gepflegt: 5.5 3. Dezember 2010 ; vor 10 Jahren ( 2010-12-03 ) 5.5.62 2018-10-22 Dezember 2018
Alte Version, nicht mehr gepflegt: 5,6 5. Februar 2013 ; Vor 8 Jahren ( 2013-02-05 ) 5.6.51 2021-01-20 Februar 2021
Ältere Version, aber noch gepflegt: 5,7 21. Oktober 2015 ; vor 5 Jahren ( 2015-10-21 ) 5.7.35 2021-07-20 Okt. 2023
Aktuelle stabile Version: 8.0 19. April 2018 ; Vor 3 Jahren ( 2018-04-19 ) 8.0.26 2021-07-20 April 2026
Legende:
Alte Version
Ältere Version, noch gepflegt
Letzte Version
Neueste Vorschauversion
Zukünftige Veröffentlichung

Die Arbeit an Version 6 wurde nach der Übernahme von Sun Microsystems eingestellt. Das MySQL Cluster-Produkt verwendet Version 7. Es wurde beschlossen, auf Version 8 als nächste Hauptversionsnummer zu springen.

Rechtsstreitigkeiten und Akquisitionen

Am 15. Juni 2001 verklagte NuSphere MySQL AB, TcX DataKonsult AB und ihre ursprünglichen Autoren Michael ("Monty") Widenius und David Axmark vor dem US-Bezirksgericht in Boston wegen "Vertragsverletzung, unerlaubter Einmischung in Verträge und Beziehungen mit Dritten sowie unlauteren Wettbewerb". ".

Im Jahr 2002 verklagte MySQL AB Fortschritt NuSphere für Urheberrecht und Markenverletzung in Bezirksgericht der Vereinigten Staaten . NuSphere hatte angeblich das Urheberrecht von MySQL AB verletzt, indem es den GPL-Code von MySQL mit der NuSphere Gemini-Tabelle verknüpfte, ohne die Lizenz einzuhalten. Nach einer vorläufigen Anhörung vor Richterin Patti Saris am 27. Februar 2002 traten die Parteien in Vergleichsgespräche und einigten sich schließlich. Nach der Anhörung erklärte die FSF , dass "Richterin Saris klargestellt hat, dass sie die GNU GPL als durchsetzbare und verbindliche Lizenz ansieht."

Im Oktober 2005 erwarb die Oracle Corporation Innobase OY, das finnische Unternehmen, das die InnoDB-Speicher-Engine eines Drittanbieters entwickelt hat, mit der MySQL Funktionen wie Transaktionen und Fremdschlüssel bereitstellen kann . Nach der Übernahme wurde in einer Pressemitteilung von Oracle erwähnt, dass die Verträge, die MySQL AB zur Verfügung stellen, irgendwann im Jahr 2006 verlängert (und vermutlich neu verhandelt) werden sollen. Während der MySQL Users Conference im April 2006 veröffentlichte MySQL AB eine Presse Veröffentlichung, die bestätigte, dass MySQL AB und Innobase OY einer "mehrjährigen" Verlängerung ihres Lizenzvertrags zugestimmt haben.

Im Februar 2006 erwarb die Oracle Corporation Sleepycat Software , Hersteller der Berkeley DB , einer Datenbank-Engine, die die Grundlage für eine weitere MySQL-Speicher-Engine bildet. Dies hatte wenig Wirkung, da Berkeley DB nicht weit verbreitet war und (wegen mangelnder Verwendung) in MySQL 5.1.12, einer im Oktober 2006 veröffentlichten Pre-GA-Version von MySQL 5.1, verworfen wurde.

Im Januar 2008 kaufte Sun Microsystems MySQL AB für 1 Milliarde US-Dollar.

Im April 2009 schloss die Oracle Corporation eine Vereinbarung zum Kauf von Sun Microsystems ab, dem damaligen Eigentümer des Urheberrechts und der Marke MySQL. Der Aufsichtsrat von Sun hat dem Deal einstimmig zugestimmt. Es wurde auch von den Aktionären von Sun und der US-Regierung am 20. August 2009 genehmigt. Am 14. Dezember 2009 versprach Oracle, MySQL wie in den vorangegangenen vier Jahren weiter zu verbessern.

Einer der Gründer von MySQL AB, Monty Widenius, startete eine Bewegung gegen die Übernahme von MySQL AB durch Oracle, um MySQL von Oracle zu retten . Die Petition von über 50.000 Entwicklern und Nutzern forderte die Europäische Kommission auf, die Genehmigung der Übernahme zu blockieren. Gleichzeitig plädierten einige Meinungsführer zu Freier Software (darunter Pamela Jones von Groklaw , Jan Wildeboer und Carlo Piana , die auch als Co-Berater im Fusionskontrollverfahren tätig waren) für die bedingungslose Genehmigung des Zusammenschlusses. Im Rahmen der Verhandlungen mit der Europäischen Kommission hat Oracle zugesagt, dass der MySQL-Server bis mindestens 2015 weiterhin die von MySQL AB seit langem verwendete Dual-Lizenzierungsstrategie mit verfügbaren proprietären und GPL-Versionen verwenden wird. Das Kartellrecht der EU habe sie "unter Druck gesetzt, MySQL als Bedingung für die Genehmigung des Zusammenschlusses zu veräußern". Doch wie WikiLeaks enthüllte, übte das US-Justizministerium auf Anfrage von Oracle Druck auf die EU aus, den Zusammenschluss bedingungslos zu genehmigen. Die Europäische Kommission genehmigte schließlich am 21. Januar 2010 die Übernahme von MySQL AB durch Oracle vorbehaltlos.

Im Januar 2010, vor der Übernahme von MySQL AB durch Oracle, startete Monty Widenius einen GPL-only Fork , MariaDB . MariaDB basiert auf derselben Codebasis wie MySQL Server 5.5 und zielt darauf ab, die Kompatibilität mit von Oracle bereitgestellten Versionen aufrechtzuerhalten.

Merkmale

MySQL wird in zwei verschiedenen Editionen angeboten: dem Open Source MySQL Community Server und dem proprietären Enterprise Server . MySQL Enterprise Server unterscheidet sich durch eine Reihe proprietärer Erweiterungen, die als Server-Plugins installiert werden, aber ansonsten das Versionsnummerierungssystem teilen und auf derselben Codebasis aufgebaut sind.

Wichtige Funktionen, die in MySQL 5.6 verfügbar sind:

  • Eine breite Untermenge von ANSI SQL 99 sowie Erweiterungen
  • Plattformübergreifende Unterstützung
  • Gespeicherte Prozeduren , die eine Prozedursprache verwenden, die sich eng an SQL/PSM anlehnt
  • Löst aus
  • Cursor
  • Aktualisierbare Ansichten
  • Online Data Definition Language (DDL) bei Verwendung der InnoDB Storage Engine.
  • Informationsschema
  • Leistungsschema, das Statistiken zur Serverausführung und Abfrageleistung zu Überwachungszwecken sammelt und aggregiert.
  • Eine Reihe von SQL-Modusoptionen zur Steuerung des Laufzeitverhaltens , einschließlich eines strikten Modus zur besseren Einhaltung der SQL-Standards.
  • X/Open XA- Unterstützung für verteilte Transaktionsverarbeitung (DTP); Zwei-Phasen-Commit als Teil davon unter Verwendung der standardmäßigen InnoDB- Speicher-Engine
  • Transaktionen mit Savepoints bei Verwendung der standardmäßigen InnoDB Storage Engine. Die NDB Cluster Storage Engine unterstützt auch Transaktionen.
  • ACID- Konformität bei Verwendung von InnoDB- und NDB-Cluster-Storage-Engines
  • SSL- Unterstützung
  • Abfrage- Caching
  • Sub- SELECTs (dh verschachtelte SELECTs)
  • Built-in - Replikation Unterstützung
    • Asynchrone Replikation: Master-Slave von einem Master zu vielen Slaves oder vielen Mastern zu einem Slave
    • Semisynchrone Replikation: Master-zu-Slave-Replikation, bei der der Master auf die Replikation wartet
    • Synchrone Replikation: In MySQL Cluster wird eine Multi-Master-Replikation bereitgestellt .
    • Virtuell synchron : Selbstverwaltete Gruppen von MySQL-Servern mit Multi-Master-Unterstützung können mit: Galera Cluster oder dem integrierten Gruppenreplikations-Plugin durchgeführt werden
  • Volltextindizierung und Suche
  • Eingebettete Datenbankbibliothek
  • Unicode- Unterstützung
  • Partitionierte Tabellen mit Bereinigung von Partitionen im Optimierer
  • Shared-Nothing- Clustering über MySQL Cluster
  • Mehrere Speicher-Engines, sodass man für jede Tabelle in der Anwendung diejenige auswählen kann, die am effektivsten ist.
  • Native Speicher-Engines InnoDB , MyISAM , Merge, Memory (Heap), Federated , Archive, CSV , Blackhole, NDB Cluster.
  • Commit-Gruppierung, Sammeln mehrerer Transaktionen von mehreren Verbindungen zusammen, um die Anzahl der Commits pro Sekunde zu erhöhen.

Etwa alle zwei Monate veröffentlichen die Entwickler kleinere Updates des MySQL-Servers. Die Quellen können von der MySQL-Website oder dem GitHub- Repository von MySQL bezogen werden , beide unter der GPL-Lizenz.

Einschränkungen

Wenn Sie andere Speicher-Engines als die Standard-InnoDB verwenden, erfüllt MySQL für einige der implementierten Funktionen, einschließlich Fremdschlüsselreferenzen , nicht den vollständigen SQL- Standard. Check Constraints werden von allen Speicher-Engines vor MySQL-Version 8.0.15 geparst, aber ignoriert.

Bis MySQL 5.7 sind Trigger auf einen pro Aktion / Timing beschränkt, was bedeutet, dass höchstens ein Trigger definiert werden kann, der nach einer INSERT- Operation und einer vor INSERT in derselben Tabelle ausgeführt wird. Für Ansichten können keine Auslöser definiert werden.

Die eingebauten Funktionen der MySQL-Datenbank wie UNIX_TIMESTAMP() geben nach 03:14:07 UTC am 19. Januar 2038 0 zurück . Kürzlich hatte es einen Versuch gegeben, das Problem zu lösen, das der internen Warteschlange zugeordnet war.

Einsatz

MySQL kann manuell aus dem Quellcode erstellt und installiert werden, wird jedoch häufiger aus einem Binärpaket installiert, es sei denn, es sind spezielle Anpassungen erforderlich. Bei den meisten Linux-Distributionen kann das Paketverwaltungssystem MySQL mit minimalem Aufwand herunterladen und installieren, obwohl häufig weitere Konfigurationen erforderlich sind, um Sicherheits- und Optimierungseinstellungen anzupassen.

LAMP- Softwarepaket, hier zusammen mit Squid angezeigt .

Obwohl MySQL als Low-End-Alternative zu leistungsfähigeren proprietären Datenbanken begann, hat es sich allmählich weiterentwickelt, um auch höhere Anforderungen zu erfüllen. Es wird immer noch am häufigsten in kleinen bis mittleren Einzelserver-Implementierungen verwendet, entweder als Komponente in einer LAMP- basierten Webanwendung oder als eigenständiger Datenbankserver. Ein Großteil der Attraktivität von MySQL liegt in seiner relativen Einfachheit und Benutzerfreundlichkeit begründet, die durch ein Ökosystem von Open-Source-Tools wie phpMyAdmin ermöglicht wird . Im mittleren Bereich kann MySQL skaliert werden, indem es auf leistungsfähigerer Hardware bereitgestellt wird, beispielsweise einem Multi-Prozessor-Server mit Gigabyte Arbeitsspeicher.

Es gibt jedoch Grenzen, wie weit die Leistung auf einem einzelnen Server skaliert werden kann ('Skalieren'), so dass in größeren Maßstäben MySQL-Bereitstellungen mit mehreren Servern ('Herausskalieren') erforderlich sind, um eine verbesserte Leistung und Zuverlässigkeit zu bieten. Eine typische High-End-Konfiguration kann eine leistungsstarke Master-Datenbank umfassen, die Datenschreiboperationen verarbeitet und auf mehrere Slaves repliziert wird , die alle Leseoperationen verarbeiten. Der Master-Server überträgt kontinuierlich Binlog-Ereignisse an verbundene Slaves, sodass im Falle eines Ausfalls ein Slave zum neuen Master befördert werden kann, wodurch Ausfallzeiten minimiert werden. Weitere Leistungssteigerungen können durch Zwischenspeichern der Ergebnisse von Datenbankabfragen im Arbeitsspeicher mit memcached oder das Aufteilen einer Datenbank in kleinere Blöcke, sogenannte Shards , erreicht werden, die über mehrere verteilte Servercluster verteilt werden können.

Hochverfügbarkeitssoftware

Oracle MySQL bietet eine Hochverfügbarkeitslösung mit einer Mischung von Tools, einschließlich des MySQL-Routers und der MySQL-Shell. Sie basieren auf Group Replication, Open-Source-Tools.

MariaDB bietet ein ähnliches Angebot in Bezug auf Produkte.

Cloud-Bereitstellung

MySQL kann auch auf Cloud-Computing- Plattformen wie Microsoft Azure , Amazon EC2 , Oracle Cloud Infrastructure ausgeführt werden . Einige gängige Bereitstellungsmodelle für MySQL in der Cloud sind:

Abbild der virtuellen Maschine
In dieser Implementierung können Cloud-Benutzer ein eigenes Maschinen-Image mit installiertem MySQL hochladen oder ein vorgefertigtes Maschinen-Image mit einer optimierten Installation von MySQL darauf verwenden, wie es von Amazon EC2 bereitgestellt wird.
MySQL als Dienst
Einige Cloud-Plattformen bieten MySQL „as a service“ an. In dieser Konfiguration müssen Anwendungsbesitzer die MySQL-Datenbank nicht selbst installieren und warten. Stattdessen übernimmt der Datenbankdienstanbieter die Verantwortung für die Installation und Wartung der Datenbank, und die Anwendungsbesitzer zahlen nach ihrer Nutzung. Bemerkenswerte Cloud-basierte MySQL-Dienste sind der Amazon Relational Database Service ; Oracle MySQL Cloud Service , Azure Database for MySQL , Rackspace ; HP Converged Cloud ; Heroku und Jelastic . Bei diesem Modell übernimmt der Datenbankdienstanbieter die Verantwortung für die Wartung des Hosts und der Datenbank.

Benutzeroberflächen

Grafische Benutzeroberflächen

Eine grafische Benutzeroberfläche (GUI) ist eine Art von Benutzeroberfläche, die es Benutzern ermöglicht, mit elektronischen Geräten oder Programmen über grafische Symbole und visuelle Indikatoren wie sekundäre Notation zu interagieren, im Gegensatz zu textbasierten Oberflächen, eingegebenen Befehlsbezeichnungen oder Textnavigation.

Es sind proprietäre und kostenlose grafische Verwaltungsanwendungen (oder "Frontends") von Drittanbietern verfügbar, die sich in MySQL integrieren und Benutzern ermöglichen, mit Datenbankstrukturen und Daten visuell zu arbeiten.

MySQL Workbench läuft unter macOS

MySQL-Workbench

MySQL Workbench ist die integrierte Umgebung für MySQL. Es wurde von MySQL AB entwickelt und ermöglicht es Benutzern, MySQL-Datenbanken grafisch zu verwalten und Datenbankstrukturen visuell zu gestalten.

MySQL Workbench ist in zwei Editionen erhältlich, der regulären kostenlosen und quelloffenen Community Edition, die von der MySQL-Website heruntergeladen werden kann, und der proprietären Standard Edition , die den Funktionsumfang der Community Edition erweitert und verbessert.

Andere GUI-Tools

Befehlszeilenschnittstellen

Eine Befehlszeilenschnittstelle ist ein Mittel zur Interaktion mit einem Computerprogramm, bei dem der Benutzer Befehle an das Programm ausgibt, indem er aufeinanderfolgende Textzeilen (Befehlszeilen) eingibt. MySQL wird mit vielen Befehlszeilentools geliefert, deren Hauptschnittstelle der mysql- Client ist.

MySQL Utilities ist eine Reihe von Dienstprogrammen, die für die Durchführung allgemeiner Wartungs- und Verwaltungsaufgaben entwickelt wurden. Ursprünglich als Teil der MySQL Workbench enthalten, sind die Dienstprogramme ein eigenständiger Download von Oracle.

Percona Toolkit ist ein plattformübergreifendes Toolkit für MySQL, das in Perl entwickelt wurde . Percona Toolkit kann verwendet werden, um nachzuweisen, dass die Replikation korrekt funktioniert, beschädigte Daten zu reparieren, sich wiederholende Aufgaben zu automatisieren und Server zu beschleunigen. Percona Toolkit ist in mehreren Linux- Distributionen wie CentOS und Debian enthalten , und Pakete sind auch für Fedora und Ubuntu verfügbar . Percona Toolkit wurde ursprünglich als Maatkit entwickelt, aber seit Ende 2011 wird Maatkit nicht mehr entwickelt.

MySQL-Shell ist ein Werkzeug zur interaktiven Nutzung und Verwaltung der MySQL-Datenbank. Es unterstützt JavaScript-, Python- oder SQL-Modi und kann für Administrations- und Zugriffszwecke verwendet werden.

Anwendungsprogrammierschnittstellen

Viele Programmiersprachen mit sprachspezifischen APIs enthalten Bibliotheken für den Zugriff auf MySQL-Datenbanken. Dazu gehören MySQL Connector/Net für .NET/CLI-Sprachen und der JDBC-Treiber für Java.

Darüber hinaus ermöglicht eine ODBC- Schnittstelle namens MySQL Connector/ODBC zusätzlichen Programmiersprachen, die die ODBC-Schnittstelle unterstützen, die Kommunikation mit einer MySQL-Datenbank wie ASP oder ColdFusion . Die HTSQL  – URL- basierte Abfragemethode wird auch mit einem MySQL-Adapter geliefert , der eine direkte Interaktion zwischen einer MySQL-Datenbank und einem beliebigen Web-Client über strukturierte URLs ermöglicht. Andere Treiber existieren für Sprachen wie Python oder Node.js .

Projektgabeln

Es gibt eine Vielzahl von MySQL- Forks , einschließlich der folgenden.

Strom

MariaDB
MariaDB ist ein von der Community entwickelter Fork des relationalen Datenbankverwaltungssystems MySQL, das unter der GNU GPL frei bleiben soll. Der Fork wurde von den ursprünglichen Entwicklern von MySQL geleitet, die ihn aufgrund von Bedenken hinsichtlich seiner Übernahme durch Oracle gegabelt haben.
Percona-Server für MySQL
Percona Server for MySQL , abgespalten von Percona , zielt darauf ab, eine enge Kompatibilität zu den offiziellen MySQL-Releases zu wahren . Ebenfalls in Percona Server for MySQL enthalten ist XtraDB , Perconas Fork der InnoDB Storage Engine .

Verlassen

Nieselregen
Drizzle war ein relationales Datenbankmanagementsystem (DBMS) aus kostenloser Software/Open-Source, das aus dem inzwischen nicht mehr existierenden 6.0-Entwicklungszweig des MySQL-DBMS abgeleitet wurde. Wie MySQL hatte Drizzle eine Client/Server- Architektur und verwendet SQL als primäre Befehlssprache . Drizzle wurde unter Version 2 und 3 der GNU General Public License (GPL) mit Teilen, einschließlich der Protokolltreiber und Replikationsnachrichten unter der BSD- Lizenz, vertrieben.
WebScaleSQL
WebScaleSQL war ein Softwarezweig von MySQL 5.6 und wurde am 27. März 2014 von Facebook, Google, LinkedIn und Twitter als gemeinsame Anstrengung angekündigt, eine zentralisierte Entwicklungsstruktur zur Erweiterung von MySQL mit neuen Funktionen bereitzustellen, die speziell für seine groß angelegten Bereitstellungen spezifisch sind, wie z Erstellen großer replizierter Datenbanken, die auf Serverfarmen ausgeführt werden. Damit eröffnete WebScaleSQL einen Weg zur Deduplizierung der Anstrengungen, die jedes Unternehmen in die Pflege seines eigenen MySQL-Zweigs gesteckt hatte, und um mehr Entwickler zusammenzubringen. Durch die Kombination der Bemühungen dieser Unternehmen und die Integration verschiedener Änderungen und neuer Funktionen in MySQL zielte WebScaleSQL darauf ab, den Einsatz von MySQL in großen Umgebungen zu unterstützen. Der Quellcode des Projekts ist unter Version 2 der GNU General Public License lizenziert und wird auf GitHub gehostet .
UnserDelta
Die OurDelta-Distribution, die von der australischen Firma Open Query (später von Catalyst IT Australia übernommen) entwickelt wurde, hatte zwei Versionen: 5.0, die auf MySQL basierte, und 5.1, die auf MariaDB basierte. Es enthielt Patches, die von Open Query und anderen namhaften Mitgliedern der MySQL-Community entwickelt wurden, darunter Jeremy Cole und Google. Nachdem die Patches in die MariaDB-Mainline integriert waren, wurden die Ziele von OurDelta erreicht und OurDelta übergab seine Build- und Paketierungs-Toolchain an das Monty-Programm (jetzt MariaDB Corp).

Siehe auch

Anmerkungen

Verweise

Externe Links

Medien zu MySQL bei Wikimedia Commons