MySQL adalah sebuah server basis data SQL multiuser dan multi-threaded. SQL sendiri adalah salah satu bahasa basis data yang paling populer di dunia. Implementasi program server basis data ini adalah program daemon mysqld dan beberapa program lain serta beberapa pustaka.
MySQL dibuat oleh TcX dan telah dipercaya mengelola sistem dengan 40 buah basis data berisi 10,000 tabel dan 500 di antaranya memiliki 7 juta baris (kira-kira 100 gigabyte data). Basis data ini dibuat untuk keperluan sistem basis data yang cepat, handal dan mudah digunakan. Walaupun memiliki kemampuan yang cukup baik, MySQL untuk sistem operasi Unix bersifat freeware, dan terdapat versi shareware untuk sistem operasi windows.
Sebagaimana basis data sistem yang lain, dalam SQL juga dikenal hierarki server dengan basis data-basis data. Tiap-tiap basis data memiliki tabel-tabel. Tiap-tiap tabel memiliki field-field. Umumnya informasi tersimpan dalam tabel–tabel yang secara logik merupakan struktur 2 dimensi terdiri atas baris dan kolom. Field-field tersebut dapat berupa data seperti int, realm char, date, time dan lainnya. SQL tidak memiliki fasilitas pemrograman yang lengkap, tidak ada looping ataupun percabangan ,misalnya. Sehingga untuk menutupi kelemahan ini perlu digabung dengan bahasa pemrograman seperti C.
Keunggulan MySQL
a) MySQL merupakan program yang multi-threaded, sehingga dapat dipasang pada server yang memiliki multi-CPU.
b) Didukung program-program umum seperti C, C++, Java, Perl, PHP, Python, TCL APIs dls.
c) Bekerja pada berbagai platform. (tersedia berbagai versi untuk berbagai sistem operasi).
d) Memiliki jenis kolom yang cukup banyak sehingga memudahkan konfigurasi sistem basis data.
e) Memiliki sistem keamanan yang baik dengan verifikasi host.
f) Mendukung ODBC untuk sistem operasi Microsoft Windows.
g) Mendukung record yang memiliki kolom dengan panjang tetap atau panjang bervariasi. dan masih banyak keunggulan lainnya (lihat manual mysql_3.22)
h) MySQL merupakan perangkat lunak yang gratis, dan bisa di download di www.mysql.com. Sedangkan perangkat lunak basis data lainnya seperti ORACLE merupakan perangkat lunak yang harus di beli.
i) MySQL dan PHP saling terintegrasi. Maksudnya adalah pembuatan basis data dengan menggunakan sintak PHP dapat di buat. Sedangkan input yang di masukkan melalui aplikasi web yang menggunakan script server-side seperti PHP dapat langsung dimasukkan ke basis data MySQL yang ada di server dan tentunya web tersebut berada di sebuah web server.
Kelemahan MySQL
a) Backup database type MyISAM cukup mudah tetapi lain halnya dengan type InnoDB. Jalinan relasi antara PK dan FK memerlukan kecermatan administrasi untuk membackup data, meskipun tersedia InnoDB Hot Backup yang dapat mengatasi masalah ini. Sayangnya InnoDb Hot Backup tidak gratis.
b) MySQL menunjukkan performansi yang buruk pada data bertype BLOB dengan ukuran sekitar 300 KB per field BLOB, misalnya menyimpan data foto/image ke dalam field.
c) MyISAM merupakan format database yang cepat tetapi belum support FK, versi selanjutnya kata MySQL akan support FK.
d) Dukungan terhadap banyaknya format Database membingungkan Database Administrator untuk memilih mana type database yang terbaik, tersedia MyISAM, InnoDB, Berkeley, dan lain-lain.
Sistem Server Basis data MySQL
Sistem basis data MySQL memiliki sistem sekuritas dengan tiga verifikasi yaitu user(name), password dan host. Verifikasi host memungkinkan untuk membuka sekuriti di localhost, tetapi tertutup bagi host lain (bekerja di lokal komputer). Sistem sekuriti ini ada di dalam basis data mysql dan pada tabel user. Proteksi juga dapat dilakukan terhadap basis data, tabel, hingga kolom secara terpisah.