MySQL è un Database management system relazionale, composto da un client con interfaccia a caratteri e un server, entrambi disponibili sia per sistemi Unix che per Windows, anche se prevale un suo utilizzo in ambito Unix.
Dal 1996 supporta la maggior parte della sintassi SQL e si prevede in futuro il pieno rispetto dello standard ANSI. Possiede delle interfacce di linguaggio MySQL per diversi linguaggi, compreso un driver ODBC, due driver Java e un driver per Mono e .NET.
Il codice di MySQL viene sviluppato fin dal 1979 dalla ditta TcX ataconsult, adesso MySQL AB, ma è solo dal 1996 che viene distribuita una versione che supporta SQL, utilizzando in parte codice di un altro prodotto: mSQL.
Il codice di MySQL è di proprietà della omonima società, viene però distribuito con la licenza GNU GPL oltre che con una licenza commerciale. Una buona parte del codice del client è licenziato con la GNU LGPL e può dunque essere utilizzato per applicazioni commerciali.
La società svedese MySQL AB ha circa trenta dipendenti e i suoi principali introiti provengono dal supporto online agli utilizzatori di MySQL, dalla vendita delle licenze commerciali e dall’utilizzo da parte di terzi del marchio MySQL.
MySQL, essendo scritto in linguaggio C e C++, è disponibile su molti differenti sistemi operativi tra cui AIX, AmigaOS, BSDi, Digital Unix, FreeBSD, HP-UX, GNU/Linux, Mac OS X, NetBSD, Novell NetWare, OpenBSD, OS/2 Warp, SGI IRIX, Solaris, SunOS, SCO OpenServer, SCO UnixWare, SGI Irix, Tru64, Windows 95, Windows 98, Windows NT, Windows 2000, Windows XP, Windows 2003.
Le piattaforme di riferimento sono SuSE Linux e Solaris ed è preinstallato su MacOS X. La documentazione di MySQL offre comunque un aiuto per chi avesse bisogno di provare a compilare il software su qualsiasi sistema operativo discretamente diffuso.
MySQL utilizza anche i tools automake, autoconf e libtools per aumentale la compatibilità.
Le tabelle di tipo BDB funzioneranno solo sui seguenti sistemi operativi: GNU/Linux 2.x Intel, Solaris (SPARC and x86), FreeBSD 4.x/5.x (x86, sparc64), AIX 4.3.x, SCO OpenServer, SCO UnixWare 7.1.x
Sono disponibili dei driver per i linguaggi C, C++, Eiffel, Java, Perl, PHP, Python, Ruby, Tcl e per le piattaforme Mono e .Net.
Infine, il linguaggio SQL di MySQL comprende numerose estensioni che sono tipiche di altri Dbms, quali PostgreSQL, Oracle e Sybase. In questo modo le query non standard scritte per altri Dbms in alcuni casi funzioneranno senza problemi.