MySQL
MySQL er en SQL-databasetjener som er lisensiert under GPL. Denne databasetjeneren er veldig mye brukt, og er en vesentlig del av LAMP-systemer, hvor M-en står for nettopp MySQL.
MySQL er utviklet og vedlikeholdt av svenske MySQL AB, som i motsetning til andre organisasjoner som Apache er et profit-firma.
Platformer
MySQL kjører på mange plattformer — inkludert AIX, BSDi, FreeBSD, HP-UX, Linux, Mac OS X, NetBSD, Netware, OpenBSD, OS/2 Warp, QNX, SGI IRIX, Solaris, SunOS, SCO OpenServer, SCO UnixWare, Tru64 og mange versjoner av Windows.
Programmeringsspråk
Programmeringsspråk som kan koble til MySQL-databaser er blant annet: C, C++, Eiffel, Smalltalk, Java, Lisp, Perl, PHP, Python, Ruby, og Tcl; hver av dem bruker en spesifikk API. Et ODBC-grensesnitt kalt MyODBC tillater andre programmeringsspråk som støtter ODBC-grensesnittet å kommunisere med en MySQL-database. MySQL bruker ANSI C som sitt hovedspråk.
Bruksområder
MySQL er populært for nettapplikasjoner som Wikipedia, PHP-Nuke og andre PHP-baserte forum og er databasen i LAMP. Bakgrunnen for at MySQL har blitt så populært har mye med PHP å gjøre, som ofte kombinert med MySQL bli kalt «the Dynamic Duo». Det er lett å finne mange referanser i alt fra bøker (PHP and MySQL for Dummies, PHP and MySQL Bible, Beginning PHP and MySQL, ...) til nettsider. Grunnen til at det blir mye brukt i bøker er at det er lettere å lære og å bruke enn mange andre databasesystemer. Et eksempel fra en «Dummies-bok» er at du kan avslutte MySQL med en opplagt kommando som exit eller quit.
Kritikk av MySQL
Tidlige versjoner av MySQL hadde få av funksjonene som ellers er å finne i RDBMS-databaser, og selv den nyeste versjonen mangler viktige funksjoner. Dette har fått noen kjente databaseeksperter, som Mal:Navn and Mal:Navn til å kritisere MySQL for å ikke være noen RDBMS. Tidligere fikk også MySQL masse kritikk for mangel på transaksjoner og ACID-kompatibilitet, som er viktig for å sikre integriteten til dataene. I samme kategori får MySQL masse kritikk for hvordan den behandler NULL-verdier, standardverdier og verdier som ikke passer med kolonnetypen den settes inn i.
Eksempel:
mysql> create table foo (id tinyint);
Query OK, 0 rows affected (0.01 sec)
mysql> insert into foo values (128);
Query OK, 1 row affected (0.00 sec)
mysql> insert into foo values ('abc');
Query OK, 1 row affected (0.00 sec)
mysql> select * from foo;
+------+
| id |
+------+
| 127 |
| 0 |
+------+
2 rows in set (0.00 sec)
Lisensiering
Både MySQL-serverprogramvare og klientbibliotek er distributert under en dobbellisens. Brukere kan velge mellom GNU General Public License [1] og en kommersiell lisens.
Andre SQL databaseservere
Eksterne ressurser
- Hjemmesiden til MySQL
- MySQL på Debian
- MySQLs utviklingsplan
- Innføring fra MySQL Webmonkey
- MySQL Reference Guide
- fabFORCE.net DBDesigner 4
- MySql Manual fra UnixCities.Com
- MySQL Gotchas—Beskrivelse av mange egenskaper som kan fungere på uventede måter
- PostgreSQL vs MySQL: Which is better? av Ian Gilfillan
- Open Source Databases: As The Tables Turn av Tim Perdue
- MySQL Manager
- MySQL fra/til Access
- MySQL for OpenVMS
- PHP MySQL Tutorial En innføring om MySQL mot PHP. Eksempler på gjestebøker, kontaktskjema, filopplasting til database, osv.
- MySQL Solution Providers Index En oversikt over firma som tilbyr support på MySQL