MySQL ist ein weit verbreitetes relationales SQL-Datenbankverwaltungssystem, das den gleichzeitigen Zugriff mehrerer Nutzer auf mehrere Datenbanken ermöglicht. Es ist insbesondere für zahllose Webanwendungen im Einsatz, meistens im Zusammenspiel mit dem Betriebssystem Linux, dem Webserver Apache und Script-Sprachen wie Perl, PHP oder Python. Viele bekannte Websites wie Wikipedia, YouTube, Google und Twitter bieten ihre Dienste auf der Basis von MySQL an. Das Datenbankverwaltungssystem arbeitet als Client-Server-System, das verschiedene Programmier-Bibliotheken und Programmier-Schnittstellen unterstützt. Daher kann MySQL flexibel in verschiedene Anwendungen eingebunden werden, im Web ebenso wie auf einzelnen Computern. MySQL arbeitet in zahlreichen Betriebssystem-Umgebungen, unter vielen Unix-Varianten ebenso wie unter Windows.
Einerseits ist MySQL als Open-Source-Software unter der GNU General Public License erhältlich; Open Source bedeutet, dass jeder die Software kostenlos nutzen, ihren Quellcode lesen und nach seinen Bedürfnissen verändern darf. Andererseits wird MySQL neben der Open-Source-Version unter verschiedenen kommerziellen Nutzungs- und Support-Vereinbarungen angeboten. Das MySQL-Entwicklungsprojekt wurde von dem schwedischen Softwareunternehmen MySQL AB ins Leben gerufen und wurde später von dem US-amerikanischen Softwareriesen Oracle übernommen.
MySQL ermöglicht das Anlegen und Verwalten relationaler Datenbanken sowie das Suchen darin nach bestimmten Datensätzen. Eine relationale Datenbank entspricht einer Sammlung von Tabellen. Die einzelnen Datensätze sind in den Zeilen der Tabellen gespeichert, anstatt in einem einzigen großen Speicherobjekt. Das erhöht die Geschwindigkeit und Flexibilität der Datenverwaltung. So könnte eine der Tabellen zum Beispiel Kundendaten wie Kunden-ID, Name, Adresse, Telefonnummer und E-Mailadresse enthalten. Andere Tabellen könnten die Daten der Bestellungen, Rechnungen und Produkte enthalten. Die einzelnen Tabellen wären dann durch die eindeutigen Kunden-IDs, Bestellnummern, Rechnungsnummern und Produktnummern miteinander verknüpft, so dass jedem Kunden seine sämtlichen Bestellungen zugeordnet wären. MySQL kann zudem mit unterschiedlichen Speichersubsystemen arbeiten, die mit verschiedenen Funktionen zur Datenverwaltung ausgestattet sind. Jede dieser Engines ist für spezielle Einsatzbedingungen besonders geeignet.
Das Kürzel SQL in MySQL steht für Structured Query Language. Das ist die gebräuchlichste Programmiersprache, mit der relationale Datenbanksysteme verwaltet werden. SQL beinhaltet unter anderem Anweisungen zum Aufbau einer Datenbank und ihrer Tabellen sowie zum Einfügen, Löschen, Suchen und Kombinieren von Daten und Datensätzen. Zusätzlich können Datenbankindexe aufgebaut werden, die ähnlich wie Buchindexe die Suche nach bestimmten Daten und das Sortieren der Daten beschleunigen. Mithilfe gespeicherter Prozeduren können ganze Folgen von SQL-Anweisungen aufgerufen werden. Außerdem reagieren sogenannte Trigger auf angeforderte Datenänderungen, um diese Änderungen zum Beispiel unter bestimmten Bedingungen zu erlauben, zu verhindern oder um zusätzliche Aktionen auszuführen.