MySQL merupakan salah satu jenis software DBMS yang
bersifat Open Source. Dengan Open Source ini berarti secara otomatis
menyertakan kode sumber yang bisa didapat dengan download secara gratis di
internet. MySQL pada awalnya dibuat oleh sebuah perusahaan konsultan bernama
TcX yang berlokasi di Swedia, kemudian beralih ke perusahaan MySQL AB. Dari
MySQL AB beralih ke Sun Microsystems, yang sejak 27 Januari 2010 telah menjadi
perusahaan bagian dari Oracle Corporation berdasarkan perjanjian tanggal 20
April 2009.
MySQL dibuat dengan C dan C++. Parser SQL
menggunakan yacc dan home-brewed lexer, sql_lex.cc. MySQL berjalan pada banyak
platform sistem yang berbeda, termasuk AIX, BSDi, FreeBSD, HP-UX, i5/OS, Linux,
Mac OS X, NetBSD, Novell NetWare, OpenBSD, OpenSolaris, eComStation, OS/2 Warp,
QNX, IRIX, Solaris, Symbian, SunOS, SCO OpenServer, SCO UnixWare, Sanos, Tru64
dan Microsoft Windows. Ada juga port MySQL untuk membuka OpenVMS.
Semua bahasa pemrograman utama dengan API khusus
bahasa memasukkan pustaka untuk mengakses database MySQL. Sebagai tambahan
sebuah antar muka ODBC, MyODBC membolehkan penambahan bahasa pemrograman yang
mendukung antarmuka ODBC untuk berkomunikasi dengan database MySQL, seperti ASP
atau ColdFusion. Server MySQL dan pustaka resmi hampir semua diimplementasikan
dalam ANSI C / ANSI C++.
MySQL sebagai salah satu DBMS memiliki keunggulan
dan fitur-fitur sebagai berikut:
1.
Handal, cepat dan mudah digunakan.
2.
Dukungan SQL.
3.
Multiplatform dan portable. MySQL dapat
berjalan stabil pada berbagai sistem operasi seperti Windows, Linux, FreeBSD,
Mac Os X Server, Solaris, Amiga, dan masih banyak lagi.
4.
Perangkat lunak sumber terbuka. MySQL
didistribusikan sebagai perangkat lunak sumber terbuka, dibawah lisensi GPL
sehingga dapat digunakan secara gratis.
5.
Multi-user. MySQL dapat digunakan oleh
beberapa pengguna dalam waktu yang bersamaan tanpa mengalami masalah atau
konflik.
6.
Performance Tuning', MySQL memiliki
kecepatan yang menakjubkan dalam menangani query sederhana, dengan kata lain
dapat memproses lebih banyak SQL per satuan waktu.
7.
Ragam tipe data. MySQL memiliki ragam
tipe data yang sangat kaya, seperti signed / unsigned integer, float, double,
char, text, date, timestamp, dan lain-lain.
8.
Perintah dan Fungsi. MySQL memiliki
operator dan fungsi secara penuh yang mendukung perintah Select dan Where dalam
perintah (query).
9.
Keamanan. MySQL memiliki beberapa
lapisan keamanan seperti level subnetmask, nama host, dan izin akses user
dengan sistem perizinan yang mendetail serta sandi terenkripsi.
10.
Skalabilitas dan Pembatasan. MySQL mampu
menangani database dalam skala besar, dengan jumlah rekaman (records) lebih
dari 50 juta dan 60 ribu tabel serta 5 milyar baris. Selain itu batas indeks
yang dapat ditampung mencapai 32 indeks pada tiap tabelnya.
11.
Konektivitas. MySQL dapat melakukan
koneksi dengan klien menggunakan protokol TCP/IP, Unix soket (UNIX), atau Named
Pipes (NT).
12.
Lokalisasi. MySQL dapat mendeteksi pesan
kesalahan pada klien dengan menggunakan lebih dari 20 bahasa. Meskipun
demikian, bahasa Indonesia belum termasuk di dalamnya.
13.
Antar Muka. MySQL memiliki antar muka
(interface) terhadap berbagai aplikasi dan bahasa pemrograman dengan
menggunakan fungsi API (Application Programming Interface).
14.
Klien dan Peralatan. MySQL dilengkapi
dengan berbagai peralatan (tool) yang dapat digunakan untuk administrasi
database, dan pada setiap peralatan yang ada disertakan petunjuk online.
15.
Struktur tabel. MySQL memiliki struktur
tabel yang lebih fleksibel dalam menangani ALTER TABLE, dibandingkan database
lainnya semacam PostgreSQL ataupun Oracle.
Kelemahan
MySQL
Kelemahan MySQL dari dulu sampai sekarang itu adalah
'feature-creep', artinya MySQL berusaha kompatibel dengan beberapa standard
serta berusaha memenuhinya. Sampai sini terdengar bagus, namun kalau
diungkapkan kenyataannya bahwa fitur-fitur itu belum lengkap dan berperilaku
sesuai standar.