Pengertian MySQL
Pengertian MySQL
Website tentu saja membutuhkan database server atau hosting untuk menampung berbagai macam
informasi. Berbagai macam data dibutuhkan oleh website seperti username, password, font, URL,
dan sejenisnya. MySQL adalah salah satu sistem manajemen database yang biasa digunakan untuk
mengelola data tersebut.
Di artikel ini kami akan membahas secara lengkap mengenai apa itu MySQL, sejarahnya, dan juga
panduan belajar MySQL dari dasar.
Pengertian MySQL
MySQL adalah sebuah database management system (manajemen basis data) menggunakan
perintah dasar SQL (Structured Query Language) yang cukup terkenal. Database management
system (DBMS) MySQL multi pengguna dan multi alur ini sudah dipakai lebih dari 6 juta pengguna di
seluruh dunia.
MySQL adalah DBMS yang open source dengan dua bentuk lisensi, yaitu Free Software (perangkat
lunak bebas) dan Shareware (perangkat lunak berpemilik yang penggunaannya terbatas).
Jadi, MySQL adalah database server yang gratis dengan lisensi GNU General Public License (GPL)
sehingga dapat Anda pakai untuk keperluan pribadi atau komersil tanpa harus membayar lisensi
yang ada.
Seperti yang sudah disinggung di atas, MySQL masuk ke dalam jenis RDBMS (Relational Database
Management System). Maka dari itu, istilah semacam baris, kolom, tabel, dipakai pada aplikasi
database ini. Contohnya di dalam MySQL sebuah database terdapat satu atau beberapa tabel.
SQL sendiri merupakan suatu bahasa yang dipakai di dalam pengambilan data pada relational
database atau database yang terstruktur. Jadi MySQL adalah database management system yang
menggunakan bahasa SQL sebagai bahasa penghubung antara perangkat lunak aplikasi dengan
database server.
Sejarah MySQL
MySQL adalah pengembangan lanjutan dari proyek UNIREG yang dikerjakan oleh Michael Monty
Widenius dan TcX (perusahaan perangkat lunak asal Swedia). Michael Monty Widenius
(source: www.wikipedia.org)
Sayangnya, UNIREG belum terlalu kompatibel dengan database dinamis yang dipakai di website.
TcX kemudian mencari alternatif lain dan menemukan perangkat lunak yang dikembangkan oleh
David Hughes, yaitu miniSQL atau mSQL. Namun, ditemukan masalah lagi karena mSQL tidak
mendukung indexing sehingga belum sesuai dengan kebutuhan TcX.
Pada akhirnya muncul kerjasama antara pengembang UNIREG (Michael Monty Widenius), mSQL
(David Hughes), dan TcX. Kerjasama ini bertujuan untuk mengembangkan sistem database yang
baru, dan pada 1995 dirilislah MySQL seperti yang dikenal saat ini. Saat ini pengembangan MySQL
berada di bawah Oracle.
Setelah mempelajari pengertian MySQL dan sejarahnya, ada baiknya jika Anda juga mengetahui
kelebihan dan kekurangannya juga.
Meskipun menjadi database yang cukup populer, MySQL tentu mempunyai beberapa kelebihan dan
kekurangan dibandingkan dengan database server lainnya. Salah satu kekurangan MySQL adalah
performanya turun di saat beberapa database manajemen sistem mampu bekerja baik pada
pengelolaan database yang besar.
Adapun kelebihan dan kekurangan MySQL lain, di antaranya:
Kelebihan MySQL
MySQL mempunyai beberapa kelebihan yang bisa Anda manfaatkan untuk mengembangkan
perangkat lunak yang andal seperti:
Kekurangan MySQL
Sayangnya, meskipun memiliki segudang kelebihan, masih ada beberapa kelemahan yang dimiliki
oleh MySQL sehingga Anda perlu mempertimbangkannya juga sebelum memakainya.
1. Kurang Cocok untuk Aplikasi Game dan Mobile
Anda yang ingin mengembangkan aplikasi game atau perangkat mobile ada baiknya jika
mempertimbangkan lagi jika ingin menggunakan MySQL. Kebanyakan pengembang game
maupun aplikasi mobile tidak menggunakannya karena memang database manajemen sistem ini
masih kurang bagus dipakai untuk sistem aplikasi tersebut.
2. Sulit Mengelola Database yang Besar
Jika Anda ingin mengembangkan aplikasi atau sistem di perusahaan dengan database yang
cukup besar, ada baiknya jika menggunakan database manajemen sistem selain MySQL.
MySQL dikembangkan supaya ramah dengan perangkat yang mempunyai spesifikasi rendah,
itulah mengapa MySQL tidak memiliki fitur yang lengkap seperti aplikasi lainnya.
Apalagi, jika dibandingkan dengan database berbasis NoSQL, seperti MongoDB. Bagi yang
belum tahu, MongoDB adalah sistem pengelolaan database yang fleksibel dan dapat
menampung data dalam jumlah besar.
3. Technical Support yang Kurang Bagus
Sifatnya yang open source terkadang membuat aplikasi tidak menyediakan technical support
yang memadai. Technical support MySQL diklaim kurang bagus. Hal ini membuat pengguna
kesulitan. Apalagi jika pengguna mengalami masalah yang berhubungan dengan pengoperasian
perangkat lunak tersebut dan membutuhkan bantuan technical support.
Mempelajari MySQL cukup mudah. Sesuai dengan pengertian MySQL yang sudah dibahas
sebelumnya, bahwa sistem manajemen server ini menggunakan SQL sebagai bahasa
pemrogramannya. Jadi akan lebih baik jika Anda harus memahami bagaimana SQL bekerja dan cara
menggunakannya.
Mengenal SQL
SQL merupakan bahasa pemrograman yang perlu Anda pahami karena dapat merelasikan antara
beberapa tabel dengan database maupun antar database. Ada tiga bentuk SQL yang perlu Anda
ketahui, yaitu Data Definition Language (DDL), Data Manipulation Language(DML), dan Data Control
Language (DCL).
CREATE Dipakai untuk membuat tabel dan database.
DDL berguna pada saat Anda ingin mendefinisikan data di dalam database. Terdapat beberapa
query yang dikelompokkan ke dalam DDL, yaitu:
Argumen DDL di atas perlu Anda pahami karena merupakan dasar penggunaan SQL di bagian awal
pembuatan database. Contohnya saja jika belum menjalankan perintah “CREATE”, Anda belum bisa
melanjutkan penggunaan argumen yang lainnya.
Data Manipulation Language (DML)
DML dapat Anda pakai setelah menjalankan perintah DDL. DML berfungsi untuk memanipulasi,
mengubah, atau mengganti isi dari database (tabel) yang sudah ada.
Terdapat beberapa perintah DML yang perlu Anda ketahui, yaitu:
INSERT Dipakai untuk memasukkan data ke dalam tabel pada database.
UPDATE Dipakai untuk mengubah data yang ada di dalam tabel pada database.
Jika Anda sudah mempunyai user dan ingin mengatur hak akses masing-masing user, Anda
sebaiknya memahami berbagai macam jenis DCL dan cara penggunaannya. DCL berguna untuk
memberikan hak akses database, mendefinisikan space, mengalokasikan space, dan melakukan
audit penggunaan database.
Terdapat beberapa perintah DCL yang perlu Anda ketahui, yaitu:
GRANT Dipakai untuk memberikan izin kepada user untuk mengakses database.
MySQL server mendukung berbagai macam sistem operasi (cross-platform), khususnya Linux dan
Windows. Proses instalasinya pun sangat mudah. Jika menggunakan Windows, Anda bisa
menginstall XAMPP untuk menjalankan MySQL server yang di dalamnya sudah terdapat juga modul
untuk menjalankan Apache, PHP, FileZilla, dan Tomcat.
Sedangkan di Linux, Anda dapat menginstall MySQL secara terpisah atau menginstall LAMP (Linux,
Apache, MySQL, PHP) yang sudah ada modul Apache dan PHP juga. Selain itu, XAMPP juga sudah
tersedia di Linux. Jadi Anda bisa menyesuaikan proses instalasi sesuai dengan yang Anda nyaman
dan suka.
Pada panduan cara install MySQL Server di Linux ini akan menggunakan Terminal sebagai
contohnya. Anda bisa menggunakan cara ini atau jika ingin lebih mudah bisa langsung mengunduh
file instalasi XAMPP dan menginstallnya seperti contoh Windows di atas.
Jika MySQL sudah dapat berjalan dengan baik di server atau perangkat, ada beberapa fungsi yang
bisa Anda jalankan menggunakan teks perintah (command prompt).
Untuk masuk ke dalam MySQL server buka ‘CMD’ di Windows dan ‘Terminal’ di Linux.
Pengertian MySQL adalah database manajemen server yang cukup aman sehingga mempunyai
aturan hak akses yang ketat. Jadi ketika ingin mengakses MySQL, Anda harus menggunakan
password yang sudah diatur sebelumnya.
Jika sebelumnya belum mengatur user untuk masuk ke dalam MySQL, Anda dapat menggunakan
user root dengan mengetikkan perintah berikut.
$ mysql -u root -p
Opsi ‘-u’ merupakan tanda jika ingin login menggunakan user dengan menggunakan password yang
dinyatakan dengan opsi ‘-p’.
Jika ingin keluar, Anda hanya perlu mengetikkan perintah “quit” atau “\q”.
Opsi di MySQL Server
MySQL server menyediakan beberapa bantuan yang bisa Anda akses untuk mengubah dan
mendokumentasikan server, yaitu dengan mengetikkan perintah “\h” atau “\?” ke dalam koneksi
MySQL yang sedang aktif.
Perhatian! Semua koneksi harus diakhiri tanda titik koma (;). Tanda ini sebagai petunjuk bahwa
perintah atau query yang dimasukkan sudah selesai dan siap dieksekusi.
Bantuan \h atau Dipakai untuk menampilkan opsi bantuan yang tersedia di dalam MySQL
\? server.
Source \. Dipakai untuk mengeksekusi perintah dari luar yang berbentuk file .sql
Pengertian MySQL server lainnya yaitu sebuah database manajemen sistem yang bersifat
client/server. Jadi sangat penting untuk mengatur hak akses user atau user privilege MySQL.
Pengaturan hak akses ini supaya semua user mempunyai wewenang yang berbeda. Hak akses juga
dapat mengatur user supaya hanya dapat mengakses database tertentu saja.
Pengaturan hak akses di MySQL tentu akan sangat berguna apalagi karena perangkat lunak ini
berjalan di jaringan publik yang kemungkinan semua user bisa mengaksesnya melalui internet.
Sebelum mengatur hak akses, Anda harus membuat terlebih dahulu user MySQL selain ‘root’.
Membuat User Baru
Anda dapat menggunakan perintah SQL bernama “INSERT” untuk membuat user baru ke dalam
database di MySQL server. Adapun sintaks yang dapat Anda gunakan contohnya:
INSERT INTO user(host, user, password) VALUES(‘%’,’nama_user’,’password’);
Perintah di atas akan menambahkan user ke dalam tabel ‘user’.
Selain perintah di atas, Anda juga bisa memanfaatkan perintah “GRANT” untuk membuat user dan
database. Langkah-langkahnya sebagai berikut.
Langkah 1. Masuk ke Dalam MySQL Server Menggunakan User ‘Root’.
Masuk ke dalam database MySQL dengan menggunakan perintah berikut ini.
$ mysql -u root -p
Kemudian masukkan password untuk user ‘root’ untuk masuk ke dalam MySQL server.
Langkah 2. Membuat User Untuk Database.
Anda dapat menggunakan contoh perintah berikut ini untuk membuat user untuk database.
GRANT ALL PRIVILEGES ON *.* TO ‘username’@’localhost’ IDENTIFIED BY ‘password’;
Perintah di atas akan membuat user dengan hak akses secara menyeluruh seperti ‘root’. Namun
Anda juga dapat menyesuaikan batasan hak ases dari masing-masing user yang dibuat dengan
menggunakan perintah “SELECT” seperti perintah berikut.
GRANT SELECT ON *.* TO ‘username’@’localhost’;
Contoh dari penggunaan GRANT dan SELECT seperti beberapa perintah di bawah ini.
CREATE USER ‘yasin’@’localhost’ IDENTIFIED BY ‘password’;
Jika sudah membuat user tetapi lupa untuk membuat hak akses, Anda masih dapat mengubahnya
dan memberikan akses menggunakan perintah “GRANT”. Contoh penggunaan sintaksnya seperti
berikut.
Langkah 1. Melihat Seluruh User yang Sudah Ada.
Anda dapat melihat seluruh user yang ada di dalam MySQL server menggunakan perintah “SELECT’
seperti baris perintah berikut ini.
SELECT user, host from mysql.user;