Banyak situs web dinamis memerlukan database backend. Database dapat berisi 

informasi yang ditampilkan halaman web kepada pengguna, atau tujuan database untuk 

menyimpan informasi yang disediakan oleh pengguna. Dalam beberapa aplikasi, database 

menyediakan informasi yang tersedia dan menyimpan informasi baru. MySQL, database 

paling populer untuk digunakan di situs web, dikembangkan menjadi cepat dan kecil,  khusus 

untuk situs web. MySQL sangat populer untuk digunakan dengan situs web yang ditulis dalam 

PHP karena PHP dan MySQL bekerja sama dengan sangat baik. Bab ini memberikan 

pengenalan MySQL, dan menjelaskan cara kerjanya dan bagaimana kita dapat berkomunikasi 

dengannya.   

MySQL dikembangkan pada pertengahan 1990-an, dengan lebih dari 10 juta instalasi. 

MySQL merupakan sistem manajemen database paling populer untuk server web. Saat ini, 

MySQL menjadi teknologi matang yang menggerakkan banyak tujuan Internet yang paling 

banyak dikunjungi. Salah satu alasan keberhasilannya adalah fakta bahwa, seperti PHP, gratis 

untuk digunakan.  

 

1.1 CARA KERJA MySQL 

Perangkat lunak MySQL terdiri dari server MySQL, beberapa program utilitas yang 

membantu dalam administrasi database MySQL, dan beberapa perangkat lunak pendukung 

yang dibutuhkan server MySQL (tetapi  kita tidak perlu mengetahuinya). Jantung dari sistem 

adalah server MySQL. Server MySQL adalah pengelola sistem database. Ini menangani semua 

instruksi database Anda. Misalnya, jika kita ingin membuat database baru, kita mengirim 

pesan ke server MySQL yang mengatakan, misalnya, "buat database baru dan beri nama data 

baru." Server MySQL kemudian membuat subdirektori di direktori datanya, menamai 

subdirektori baru dengan data baru, dan menempatkan file yang diperlukan dengan format 

yang diperlukan ke dalam subdirektori data baru. Dengan cara yang sama, untuk 

menambahkan data ke database itu, kita mengirim pesan ke server MySQL, memberikannya 

data dan memberi tahu di mana kita ingin data ditambahkan. 

Sebelum kita dapat meneruskan instruksi ke server MySQL, ini harus berjalan terlebih 

dahulu dan menunggu permintaan. Server MySQL biasanya diatur sehingga dimulai saat  

komputer mulai dan terus berjalan sepanjang waktu. Ini adalah pengaturan biasa untuk 

sebuah situs web. Namun, tidak perlu mengaturnya untuk memulai saat komputer dinyalakan. 

Jika perlu, kita dapat memulainya secara manual kapan pun kita ingin mengakses database. 

Saat sedang berjalan, server MySQL terus menerus mendengarkan pesan yang diarahkan ke 

sana. 

 

1.2 MEMAHAMI STRUKTUR DATABASE 

MySQL adalah Sistem Manajemen database Relasional (RDBMS). Server MySQL  kita 

dapat mengelola banyak database secara bersamaan. Faktanya, banyak orang mungkin 

memiliki database berbeda yang dikelola oleh satu server MySQL. Setiap database terdiri dari 

struktur untuk menampung data dan data itu sendiri. Database bisa ada tanpa data, hanya 

struktur, benar-benar kosong, memutar-mutar ibu jarinya dan menunggu data disimpan di 

dalamnya. Data dalam database disimpan dalam satu atau lebih tabel. Kita harus membuat 

 

Manajemen Database MySQL

database dan tabel sebelum kita bisa menambahkan data apa pun ke database. Pertama kita 

membuat database kosong. Kemudian kita menambahkan tabel kosong ke database. Tabel 

database diatur seperti tabel lain yang biasa kita gunakan — dalam baris dan kolom. Setiap 

baris mewakili entitas dalam database, seperti pelanggan, buku, atau proyek. Setiap kolom 

berisi item informasi tentang entitas, seperti nama pelanggan, nama buku, atau tanggal mulai 

proyek. Tempat di mana baris dan kolom tertentu berpotongan, sel individual dari tabel, 

disebut field. 

Tabel dalam database dapat saling berhubungan, dan seringkali satu baris dalam satu 

tabel terkait dengan beberapa baris di tabel lain. Misalnya, kita mungkin memiliki database 

yang berisi data tentang buku yang kita miliki. Kita akan memiliki tabel buku dan tabel penulis. 

Satu baris di tabel penulis mungkin berisi informasi tentang penulis beberapa buku di tabel 

buku. Saat tabel terkait, kita menyertakan kolom dalam satu tabel untuk menampung data 

yang cocok dengan data di kolom tabel lain. Hanya sesudah  kita membuat struktur database, 

kita dapat menambahkan data. 

 

1.3 DASAR-DASAR MySQL 

Dataabase adalah kumpulan terstruktur dari catatan atau data yang disimpan dalam 

sistem komputer dan diatur sedemikian rupa agar informasinya dapat dicari dan  dapat 

diambil dengan cepat. SQL adalah singkatan dari Structured Query Language, merupakan 

bahasa yang didasarkan pada bahasa Inggris dan juga digunakan dalam database lain seperti 

Oracle dan  Server Microsoft SQL. Ini dirancang untuk memungkinkan permintaan sederhana 

dari database melalui perintah seperti: 

 

SELECT title FROM publications WHERE author = 'Agus Wibowo';  

 

Database MySQL berisi satu tabel atau lebih, yang masing-masing berisi record atau baris. Di 

dalam baris ini terdapat berbagai kolom atau field yang berisi data masing-masing. Tabel 

dibawah ini menunjukkan isi database dari contoh lima publikasi yang merinci penulis, judul, 

jenis, dan tahun publikasi. 

 

Tabel 1.1 Contoh database sederhana 

Author Judul Jenis Tahun 

Agus Wibowo Belajar PHP Dari Dasar Ilmiah 2020 

Agus Wibowo Membangun PODCAST Ilmiah 2021 

Mars Caroline W Teknik Desain Realis dan Tata Warna Ilmiah 2022 

Sarwo Nugroho Potret Diri Sebagai Komunikasi Visual 

Simbolik 

Ilmiah 2022 

Edy Jogatama P Desain Seni Rupa Klasik Ilmiah 2022 

 

Setiap baris dalam tabel sama dengan baris dalam tabel MySQL, dan setiap elemen 

dalam satu baris sama dengan satu field MySQL. Untuk mengidentifikasi database ini secara 

unik, saya akan menyebutnya sebagai database publikasi. Dan, seperti yang akan kita amati, 

semua publikasi ini dianggap sebagai literatur klasik, jadi saya akan menyebut tabel di dalam 

database yang menyimpan detail klasik. 

Ringkasan Persyaratan Database 

Istilah utama yang perlu kita ketahui untuk saat ini adalah: 

Database 

Wadah keseluruhan untuk kumpulan data MySQL 

 

Manajemen Database MySQL

Kolom 

Subkontainer dalam database yang menyimpan data aktual 

Baris 

Sebuah catatan tunggal dalam sebuah tabel, yang berisi beberapa field 

Kolom 

Nama field dalam satu baris 

Mohon dicatat bahwa, Saya tidak mencoba untuk mereproduksi terminologi yang tepat yang 

digunakan dalam literatur akademis tentang database relasional, tetapi hanya untuk 

memberikan istilah sehari-hari yang sederhana untuk membantu kita memahami konsep 

dasar dan memulai dengan database dengan cepat. 

 

1.4 MENGAKSES MYSQL MELALUI COMMAND LINE 

Ada tiga cara utama di mana kita dapat berinteraksi dengan MySQL: memakai  

command line, melalui antarmuka web seperti phpMyAdmin, dan melalui bahasa 

programmeran seperti PHP. 

Memulai Antarmuka Command line  

Bagian berikut menjelaskan instruksi yang relevan untuk Windows, OS X, dan Linux.  

User Windows 

Jika kita menginstal Zend Server Free Edition WAMP, kita akan dapat mengakses executable 

MySQL dari salah satu direktori berikut (yang pertama pada komputer 32 -bit, dan yang kedua 

pada mesin 64-bit) :  

 

C:\ Program Files\ Zend \ MySQL55\ bin  

C:\ Program Files (x86) \ Zend \ MySQL55\ bin 

 

Catatan : Jika kita menginstal Zend Server di tempat selain \ Program Files (atau \ Program Files 

(x86)), kita harus memakai  direktori itu.  

 

Gambar 1.1 Mengakses MySQL dari Command prompt Windows 

 

Secara default, user MySQL awal akan menjadi root dan tidak akan memiliki set 

password. Jadi, untuk masuk ke antarmuka command line MySQL, pilih Start → Run, ketik 

CMD ke dalam kolom Run, dan tekan Return. Ini akan memanggil Command Prompt 

Windows. Dari situ, ketikkan salah satu dari yang berikut ini: 

 

Manajemen Database MySQL

"C: \ Program Files\ Zend \ MySQL55\ bin\ mysql" -u root  

"C: \ Program Files (x86) \ Zend \ MySQL55\ bin\ mysql" -u root 

 

Catatan: Perhatikan tanda kutip di sekitar path dan nama file. Ini ada karena namanya berisi 

spasi, yang tidak diinterpretasikan dengan benar oleh Command Prompt, dan tanda kutip 

mengelompokkan bagian-bagian nama file ke dalam satu string untuk dipahami oleh program 

perintah. Perintah ini memberi tahu MySQL untuk memasukkan kita sebagai user root tanpa 

password. Kita sekarang akan masuk ke MySQL dan dapat mulai memasukkan perintah. Jadi, 

untuk memastikan semuanya berfungsi sebagaimana mestinya, masukkan yang berikut ini: 

 

SHOW databases;  

 

Jika ini tidak berhasil dan kita mendapatkan pesan kesalahan, pastikan kita telah menginstal 

MySQL dengan benar bersama dengan Zend Server. Jika tidak, kita bisa berpindah 

memakai  Antarmuka Command line. 

User OS X 

Untuk melanjutkan bab ini, kita harus menginstal Zend Server. Kita juga harus memiliki 

server web yang sudah berjalan dan server MySQL. Untuk masuk ke antarmuka command line 

MySQL, jalankan program Terminal (yang seharusnya tersedia di Finder→Utilities). Kemudian 

panggil program MySQL, yang akan diinstal di direktori usrlocal/zend/mysql/bin. Secara 

default, user MySQL awal adalah root, dan akan memiliki kata sandi root juga. Jadi, untuk 

memulai program, ketikkan yang berikut ini: 

 

usrlocal/zend/mysql/bin/mysql -u root 

 

Perintah ini memberi tahu MySQL untuk memasukkan kita sebagai user root dan tidak 

meminta kata sandi kita. Untuk memverifikasi bahwa semuanya baik-baik saja, ketik berikut 

ini (hasilnya akan terlihat seperti output yang ditunjukkan pada Gambar dibawah ini):  

 

SHOW databases 

 

Gambar 1.2. Mengakses MySQL dari program Terminal OS X 

 

Manajemen Database MySQL

Jika kita menerima pesan kesalahan seperti Can't connect to local MySQL server through 

socket, ini berarti, kita belum memulai server MySQL. Selanjutnya, kita melanjutkan ke bagian 

berikutnya, memakai  Antarmuka Command-Line. 

User Linux 

Pertama-tama kita harus mengetik yang berikut untuk masuk ke sistem MySQL Anda: 

 

mysql -u root -p 

 

Ini memberitahu MySQL untuk memasukkan kita sebagai user root dan meminta kata sandi 

kita. Jika kita memiliki kata sandi, masukkan; jika tidak, cukup tekan Return. sesudah  kita 

masuk, ketik berikut ini untuk menguji program (Anda akan melihat tanggapan seperti Gambar 

dibawah ini):  

 

SHOW databases;  

 

Gambar 1.3 Mengakses MySQL memakai  Linux  

 

Mengakses MySQL melalui phpMyAdmin 

Meskipun untuk memakai  MySQL kita harus mempelajari perintah-perintah 

utama ini dan cara kerjanya, sesudah  kita memahaminya, akan jauh lebih cepat dan mudah 

memakai  program seperti phpMyAdmin untuk mengelola database dan tabel kita. Tetapi, 

kita harus menginstal phpMyAdmin sebelum dapat memakai nya. Untuk melakukan ini, 

panggil UI Zend dengan memasukkan yang berikut ini ke browser Anda, dan masuk: 

http://localhost:10081/ZendServer/  

 

Manajemen Database MySQL

 

Gambar 1.4 Dasbor Zend  

 

Sekarang klik panah kiri dan kanan di sebelah kanan bagian DEPLOY SAMPLE APPS 

sampai kita melihat logo phpMyAdmin dan klik untuk memulai pengunduhan; lalu klik Next 

jika sudah selesai. Klik Next lagi, sesudah  kita melihat informasi README, untu k memanggil 

layar Application Detail. 

 

Gambar 1.5 Konfigurasi phpMyAdmin untuk Zend  

 

Manajemen Database MySQL

Di sini kita mungkin harus menerima default untuk Display Name dan Virtual Host, 

tetapi perlu menentukan nama direktori untuk phpMyAdmin untuk menjauhkannya dari file 

root dokumen kita. Disini, saya telah memasukkan nama phpmyadmin (semua dalam huruf 

kecil sehingga saya tidak perlu memasukkan huruf kapital setiap kali saya mengetik URL untuk 

memanggilnya). Lanjutkan mengklik Berikutnya dan menerima perjanjian lisensi apa pun 

hingga kita melihat layar pada Gambar dibawah ini. Di sini kita harus memilih “Use HTTP 

(Apache) Basic Authentication?” kotak centang dan berikan login dan kata sandi. Login default 

adalah DBadmin, tetapi saya memilih untuk memakai  admin saja; login dan kata sandi 

kita terserah kita. Kecuali kita telah mengonfigurasinya secara berbeda, kita mungkin dapat 

membiarkan IP, Port, User Database, dan Password seperti yang ditampilkan. 

 

Gambar 1.6 Memasukkan parameter user phpMyAdmin 

 

Sekarang klik Next, tinjau ringkasan yang ditampilkan, jika sudah siap, klik tombol 

Deploy. sesudah  beberapa detik, kita akan melihat bahwa aplikasi berhasil digunakan, sehingga 

phpMyAdmin siap untuk diakses dengan memasukkan ini pada browser: 

 

http://localhost/phpmyadmin  

 

Ini akan memunculkan dialog yang ditunjukkan pada Gambar dibawah ini, di mana kita harus 

memasukkan username dan password sebelum mengklik tombol Log In. 

 

Manajemen Database MySQL

 

Gambar 1.7 Masuk ke phpMyAdmin 

 

Browser kita sekarang akan terlihat seperti Gambar dibawah ini, dan phpMyAdmin 

diap digunakan sebagai pengganti command line MySQL. 

 

 

Gambar 1.8 Layar utama phpMyAdmin 

 

memakai  phpMyAdmin 

Di panel kiri layar utama phpMyAdmin, kita dapat mengklik menu drop-down yang 

bertuliskan “(Database)” untuk memilih database yang ingin kita gunakan. Fungsinya untuk 

membuka database dan menampilkan tabelnya. Dari sini kita dapat melakukan semua operasi 

utama, seperti membuat database baru, menambahkan tabel, membuat indeks, dan banyak 

lagi lainnya. Untuk membaca dokumentasi pendukung phpMyAdmin, kunjungi 

https://docs.phpmyadmin.net.  

 

Manajemen Database MySQL

1.5 BERKOMUNIKASI DENGAN MySQL 

Semua interaksi kita dengan database dilakukan dengan mengirimkan pesan ke server 

MySQL. Server MySQL harus dapat memahami instruksi yang kita kirimkan. Kita 

berkomunikasi memakai  Structured Query Language (SQL), yang merupakan bahasa 

komputer standar yang dipahami, setidaknya dalam beberapa bentuk, oleh sebagian besar 

sistem manajemen database. Untuk membuat permintaan yang dapat dipahami MySQL, kita 

membuat pernyataan SQL dan mengirimkannya ke MySQL server.  

MySQL di server jauh 

Jika kita mengakses MySQL di server jauh, kita harus Telnet (atau lebih baik, untuk 

keamanan, gunakan SSH) ke mesin jarak jauh, yang mungkin akan menjadi jenis 

Linux/FreeBSD/Unix box. Karena begitu masuk kesitu, tampilannya  akan terlihat sedikit 

berbeda. Hal ini tergantung pada bagaimana administrator sistem mengatur server, terutama 

jika akses MySQL memakai  kata sandi. Kita dapat mencoba mengetik kode yang berikut: 

ini, yang mana user name-nya adalah user name yang kita buat sendiri: 

 

mysql -u username -p 

 

Masukkan kata sandi kita saat diminta. Kita dapat mencoba perintah berikut: 

 

SHOW databases;  

 

Disini, bisa jadi ada database lain yang sudah dibuat, dan test database tidak muncul. Ingatlah 

juga bahwa administrator sistem memiliki kendali penuh atas segalanya dan kita dapat 

menemukan beberapa pengaturan yang tidak terduga. Misalnya, kita mungkin diminta untuk 

mengawali semua nama database yang kita buat dengan string identifikator unik untuk 

memastikan bahwa itu benar-benar kita. Sehingga, jika kita memiliki masalah, bicarakan 

dengan administrator sistem Anda, karena dia akan menyelesaikan masalah kita. Beri tahu 

sysadmin bahwa kita memerlukan nama user dan kata sandi. Kita juga harus meminta 

membuat database baru atau, minimal, memiliki setidaknya satu database yang siap untuk 

kita gunakan. Selanjutnya, dalam database tersebut kita dapat membuat semua tabel yang 

kita butuhkan. 

memakai  Antarmuka Command line 

Selanjutnya untuk mengakses MySQLsecara langsung pada Windows, Mac OS X, atau 

Linux memiliki cara dan peirntah yang sama karena semua perintah yang digunakan (dan 

kesalahan yang mungkin kita terima) adalah identik.  

Membangun kueri SQL 

SQL hampir semuanya memakai  bahasa Inggris; sebagian besar terdiri dari kata -

kata bahasa Inggris, disatukan menjadi rangkaian kata yang terdengar mirip dengan kalimat 

bahasa Inggris. Secara umum (untungnya),  kita tidak perlu memahami bahasa teknis misterius 

apa pun untuk menulis kueri SQL hingga memiliki. Kata pertama dari setiap pernyataan adalah 

namanya, yang merupakan kata tindakan (kata kerja) yang memberi tahu MySQL apa yang 

ingin kita lakukan. Pernyataan yang kita bahas ini adalah CREATE, DROP, ALTER, SHOW, 

INSERT, LOAD, SELECT, UPDATE, dan DELETE. Kosakata dasar ini cukup untuk membuat — dan 

berinteraksi dengan — database di situs web. Nama pernyataan diikuti oleh kata dan frasa — 

beberapa diperlukan dan beberapa opsional — yang memberi tahu MySQL cara melakukan 

tindakan. Misalnya, kita selalu perlu memberi tahu MySQL apa yang harus dibuat, dan kita 

selalu perlu memberi tahu tabel mana yang akan memasukkan data ke dalam atau untuk 

memilih data. 

10 

 

Manajemen Database MySQL

Berikut ini adalah pernyataan SQL yang khas. Seperti yang kita lihat, ini memakai  

kata-kata bahasa Inggris: 

 

SELECT lastName FROM Member 

 

Saat pernyataan memakai  SELECT, itu dikenal sebagai kueri, karena kita meminta 

informasi dari database. Kueri ini mengambil semua nama belakang yang disimpan dalam 

tabel bernama Member. Kueri yang lebih rumit, seperti berikut ini, kurang seperti bahasa 

Inggris: 

 

SELECT lastName,firstName FROM Member WHERE state=”CA” AND city=”Fresno” ORDER BY 

lastName 

 

Kueri ini mengambil semua nama belakang dan nama depan member yang tinggal di Fresno 

dan kemudian menempatkannya dalam urutan abjad berdasarkan nama belakang. Meskipun 

kueri ini kurang seperti bahasa Inggris, itu masih cukup jelas. Berikut adalah beberapa poin 

umum yang perlu diingat saat membuat pernyataan SQL, seperti yang diilustrasikan dalam 

contoh kueri sebelumnya: 

• Kapitalisasi: Dalam buku ini, kita menempatkan kata-kata bahasa SQL dalam huruf 

besar semua; item informasi variabel (seperti nama kolom) biasanya diberi label yang 

semuanya atau sebagian besar huruf kecil. Kita melakukan ini untuk memudahkan kita 

membaca — bukan karena MySQL memerlukan format ini. Kasus kata-kata SQL tidak 

masalah; misalnya, pilih sama dengan SELECT, sama dengan FROM, sejauh 

menyangkut MySQL. Di sisi lain, kasus nama tabel, nama kolom, dan informasi variabel 

lainnya penting jika sistem operasi kita adalah Unix atau Linux. Saat  kita memakai  

Unix atau Linux, MySQL harus sama persis dengan nama kolom, jadi kasus nama kolom 

harus benar — misalnya, nama belakang tidak sama dengan nama belakang. Windows, 

bagaimanapun, tidak pilih-pilih seperti Unix dan Linux; dari sudut pandangnya, nama 

belakang dan nama belakang adalah sama. 

• Spasi: Kata-kata SQL harus dipisahkan oleh satu spasi atau lebih. Tidak masalah berapa 

banyak ruang yang kita gunakan;  kita juga bisa memakai  20 spasi atau hanya 1 

spasi. SQL juga tidak memperhatikan akhir baris. Kita dapat memulai baris baru di titik 

mana pun dalam pernyataan SQL atau menulis seluruh pernyataan pada satu baris. 

• Kutipan: Perhatikan bahwa CA dan Fresno diapit oleh tanda kutip ganda (“) pada kueri 

sebelumnya. CA dan Fresno adalah serangkaian karakter yang disebut string teks, atau 

string karakter. Kita meminta MySQL untuk membandingkan string teks dalam kueri 

SQL dengan string teks yang sudah disimpan di database. Saat kita membandingkan 

angka (seperti bilangan bulat) yang disimpan dalam kolom numerik,  kita tidak 

menyertakan angka dalam tanda kutip.  

Kitamembahas detail kueri SQL tertentu di bagian buku tempat kita membahas 

penggunaannya.  

Titik Koma 

Mari kita mulai dengan dasar-dasarnya. Apakah kita memperhatikan titik koma (;) di 

akhir database SHOW ; perintah yang kita ketik? Titik koma digunakan oleh MySQL untuk 

memisahkan atau mengakhiri perintah. Jika kita lupa memasukkannya, MySQL akan 

mengeluarkan prompt secara terus menerus. Titik koma yang diperlukan dibuat menjadi 

11 

 

Manajemen Database MySQL

bagian dari sintaks untuk memungkinkan kita memasukkan perintah beberapa baris. Hal ini 

juga memungkinkan kita untuk mengeluarkan lebih dari satu perintah pada satu waktu dengan 

menempatkan titik koma sesudah  masing-masing perintah. Ada enam petunjuk berbeda yang 

diberikan MySQL kepada Anda, jadi kita akan selalu tahu di mana kita berada selama input 

multiline. 

 

Tabel 1.2 Enam perintah MySQL 

Perintah MySQL Arti 

Mysql Siap dan menunggu perintah 

->  Menunggu baris pada sebuah perintah  

‘> Menunggu baris string berikutnya dimulai dengan satu kutipan 

“> Menunggu baris string berikutnya dimulai dengan tanda kutip ganda 

`>  Menunggu baris berikutnya dari string dimulai dengan backtick 

/*>  Menunggu baris komentar berikutnya dimulai dengan /*  

 

Membatalkan perintah 

Jika kita setengah jalan memasukkan perintah dan kita tidak ingin menjalankannya, 

kita dapat memasukkan \ c dan tekan Return. Contoh dibawah ini menunjukkan cara 

memakai nya \ c. 

Contoh Membatalkan baris input 

 

meaningless gibberish to mysql \ c 

 

saat  kita memasukkan \ c, MySQL akan mengabaikan semua perintah yang kita ketik 

dan mengeluarkan prompt baru. Tanpa \ c, maka akan menampilkan pesan kesalahan. Namun 

jika kita telah membuka string atau komentar, sebelum memakai  \ c kita harus menutup 

string terlebih dahulu karen jika tidak, MySQL akan mengira \ c hanyalah bagian dari string. 

Perhatikan contoh membatalkan input dalam string dibawah ini.  

Contoh Membatalkan input dari dalam string 

 

this is "meaningless gibberish to mysql" \ c 

 

Perhatikan juga bahwa memakai  \ c sesudah  titik koma tidak akan berfungsi, 

karena itu merupakan pernyataan baru. 

Mengirim kueri SQL 

Anda dapat mengirim kueri SQL ke MySQL dengan beberapa cara. Dalam buku ini, kita 

membahas dua metode pengiriman kueri berikut: 

• Client mysql: Saat kita menginstal MySQL, client mysql berbasis teks diinstal secara 

otomatis. Client sederhana ini dapat digunakan untuk mengirim kueri. 

• Fungsi bawaan PHP: kita berkomunikasi dengan database MySQL dari skrip PHP 

dengan memakai  fungsi bawaan PHP yang dirancang khusus untuk tujuan ini . 

Fungsi terhubung ke server MySQL dan mengirim kueri SQL. 

Perintah MySQL 

Anda telah melihat perintah SHOW, yang mencantumkan tabel, database, dan banyak 

item lainnya. 

12 

 

Manajemen Database MySQL 

Tabel 1.3 Perintah umum MySQL 

Command (Perintah)  Aksi 

ALTER Mengubah database atau tabel 

BACKUP Backup tabel 

\c Cancel input 

CREATE Membuat database 

DELETE Menghapus baris dari tabel 

DESCRIBE Menjelaskan klom tabel  

DROP Menghapus database atau tabel 

EXIT (CTRL-C) Keluar 

GRANT Mengubah user privileges 

HELP (h\, \?) Display Help 

INSERT Memasukkan data 

LOCK Mengunci tabel 

QUIT (\q) Sama dengan EXIT 

RENAME Mengubah nama tabel 

SHOW Daftar detail tentang sebuah 

objek 

SOURCE Eksekusi file 

STATUS (\s) Display status saat ini 

TRUNCATE Tabel kosong 

UNLOCK Unlock tabel 

UPDATE Update catatan yang tersedia 

USE memakai  databae 

 

Anda perlu mengingat beberapa poin tentang perintah MySQL: 

• Perintah dan kata kunci SQL tidak peka huruf besar-kecil, misalnya CREATE, create dan 

CReaTE semuanya memiliki arti yang sama. Namun, demi kejelasan, gaya yang 

disarankan adalah memakai  huruf besar. 

• Nama tabel di Linux dan OS X peka huruf besar/kecil, tetapi di Windows tidak peka 

huruf besar/kecil. Jadi untuk tujuan portabilitas, kita harus selalu memilih kasing dan 

mematuhinya. Gaya yang disarankan adalah memakai  huruf kecil untuk tabel.  

memakai  client mysql 

saat  MySQL diinstal, program sederhana berbasis teks yang disebut mysql (atau 

terkadang antarmuka baris perintah atau CLI) juga diinstal. Program yang berkomunikasi 

dengan server adalah perangkat lunak client; karena program ini berkomunikasi dengan serv er 

MySQL, itu adalah client. Saat kita memasukkan kueri SQL di client ini, respons dikembalikan 

ke client dan ditampilkan di layar. Program monitor dapat mengirim pertanyaan melalui 

jaringan; tidak harus dijalankan pada mesin tempat database disimpan.  Client ini selalu diinstal 

saat  MySQL diinstal, sehingga selalu tersedia. Ini cukup sederhana dan cepat jika  kita tahu 

SQL dan dapat mengetik kueri kita tanpa kesalahan. 

Untuk mengirim kueri SQL ke MySQL dari client mysql, ikuti langkah-langkah berikut: 

1. Temukan client mysql. 

13 

 

Manajemen Database MySQL

Secara default, program client mysql diinstal di bin subdirektori, di bawah direktori 

tempat MySQL diinstal. Di Unix dan Linux, defaultnya adalah /usr/local/mysql/bin atau 

/usr/local/bin. Di Windows, defaultnya adalah c:\ Program Files\ MySQL\ MySQL Server 

5.0\ bin. Namun, client mungkin diinstal di direktori yang berbeda. Atau, jika kita bukan 

administrator MySQL, kita mungkin tidak memiliki akses ke client mysql. Jika kita tidak 

tahu di mana MySQL diinstal atau tidak dapat menjalankan client, mintalah 

administrator MySQL untuk menempatkan client di suatu tempat di mana kita dapat 

menjalankannya atau untuk memberikan salinan yang dapat kita letakkan di komputer  

kita sendiri. 

2. Jalankan client.  

Di Unix dan Linux, ketik path/nama file (misalnya, /usr/local/mysql/bin/mysql). Di 

Windows, buka jendela command prompt dan kemudian ketik path\ nama file 

(misalnya, c: \ Program Files\ MySQL\ MySQL Server 5.0\ bin\ mysql). Perintah ini 

memulai client jika kita tidak perlu memakai  nama akun atau kata sandi. Jika kita 

perlu memasukkan akun atau kata sandi atau keduanya, gunakan parameter berikut: 

• -u user: user adalah nama akun MySQL Anda. 

• -p: Parameter ini meminta kita memasukkan kata sandi untuk akun MySQL 

Anda. 

Misalnya, jika kita berada di direktori tempat client mysql berada, perintahnya 

mungkin terlihat seperti ini: 

mysql -u root -p 

3. Jika kita memulai client mysql untuk mengakses database di seluruh jaringan, 

gunakan parameter berikut sesudah  perintah mysql: 

-h host, dimana host adalah nama mesin dimana MySQL berada. 

Misalnya, jika kita berada di direktori tempat client mysql berada, perintahnya 

mungkin terlihat seperti ini 

mysql -h mysqlhost.mycompany.com -u root -p 

Tekan Enter sesudah  mengetik perintah. 

4. Masukkan kata sandi kita saat diminta. Client mysql dimulai, dan kita melihat 

sesuatu yang mirip dengan ini: 

Welcome to the MySQL monitor. Commands end with ; or \ g. 

Your MySQL connection id is 459 to server version: 5.0.15 

Type ‘help;’ or ‘ \ h’ for help. Type ‘ \ c’ to clear the buffer. 

mysql>  

5. Pilih database yang ingin kita gunakan. 

Pada prompt mysql, ketik berikut ini: 

use databasename 

Gunakan nama database yang ingin  kita kueri. Beberapa pernyataan SQL, seperti 

SHOW DATABASES, tidak mengharuskan kita memilih database. Untuk pernyataan 

tersebut, kita dapat melewati Langkah 5. 

6. Pada prompt mysql, ketik pernyataan SQL kita diikuti dengan titik koma (;) dan 

kemudian tekan Enter.  

Jika kita lupa mengetikkan titik koma (;) di akhir kueri, client mysql tidak akan 

mengeksekusi pernyataan tersebut. Sebaliknya, itu terus menampilkan 

14 

 

Manajemen Database MySQL

prompt (mysq>) sampai  kita memasukkan titik koma. Tanggapan terhadap pernyataan 

ditampilkan di layar. 

7. Untuk meninggalkan client mysql, ketik quit pada prompt dan kemudian tekan Enter. 

Anda dapat memakai  client mysql untuk mengirim pernyataan SQL yang kita ketik 

sendiri, dan itu mengembalikan respons ke pernyataan tersebut. 

Membuat database 

Jika kita bekerja di server jauh dan hanya memiliki satu akun user dan akses ke satu 

database yang dibuat untuk Anda, lanjutkan ke bagian Membuat tabel. Jika tidak keluarkan 

perintah berikut untuk membuat database baru yang disebut publikasi: 

 

CREATE DATABASE publications;  

 

Perintah yang berhasil akan menampilkan pesan yang belum memiliki arti — Query OK, 1 row 

affected (0.00 sec) . Sekarang sesudah  kita membuat database terbitkan: 

 

USE publications;  

 

Membuat User 

Sekarang kita telah melihat betapa mudahnya memakai  MySQL, dan membuat 

database pertama Anda, sekarang saatnya untuk melihat bagaimana kita membuat user, 

karena kita mungkin tidak ingin memberikan akses root skrip PHP kita ke MySQL. Untuk 

membuat user, keluarkan perintah GRANT: 

 

GRANT PRIVILEGES ON database.object TO 'username'@'hostname' IDENTIFIED BY 

'password';  

 

Tabel 1.4 Contoh parameter untuk perintah GRANT  

Argumen Makna 

. Semua database dan semua objeknya 

database.* Hanya database yang disebut database dan 

semua objeknya 

Database.object Hanya database yang disebut database dan 

objeknya disebut objek 

 

Jadi mari buat user yang hanya dapat mengakses database publikasi baru dan semua 

objeknya, dengan memasukkan yang berikut ini (mengganti nama user Guswi dan kata sandi 

mypasswd dengan yang kita pilih):  

 

GRANT ALL ON publications.* TO ' Guswi'@'localhost' ID ENTIFIED BY 'mypasswd';  

 

Izinikan user guswi@localhost akses penuh ke database publikasi memakai  mypasswd. 

Kita dapat menguji keberhasilan dari langkah ini dengan memasukkan quit untuk keluar dan 

kemudian menjalankan kembali MySQL seperti yang kita lakukan sebelumnya, tetapi alih-alih 

memasukkan -u root -p, ketik -u guswi -p, atau nama user apa pun yang kita buat. Lihat Tabel 

selanjutnya untuk perintah yang benar untuk sistem operasi kita. Ubah seperlunya jika 

program klien mysql diinstal di direktori yang berbeda di sistem kita. 

 

15 

 

Manajemen Database MySQL 

Tabel 1.5 Memulai MySQL dan masuk sebagai guswi@localhost  

OS Contoh perintah 

Windows “C:\ Program Files\ Zend \ MySQL55\ bin\ mysql" -u guswi -p 

Mac OS ApplicationsMAMP/Library/bin/mysql -u guswi -p 

Linux  mysql -u guswi –p 

 

saat  kita ingin masuk, selanjutnya, yang diminta adalah memasukkan kata sandi kita. 

Dibagian ini, kita juga dapat menempatkan kata sandi kita sesudah  -p (tanpa spasi) untuk agar 

password tidak diminta lagi, tapi ini dianggap sebagai praktik yang buruk, orang lain yang 

melihat sistem kita akan mengetahui perintah dan password yang kita buat. Catatan: kita 

hanya dapat memberikan privileges yang sudah kita miliki, dan kita juga harus memiliki 

privileges untuk mengeluarkan perintah GRANT. Ada berbagai macam privileges yang dapat 

kita pilih untuk diberikan jika kita tidak memberikan semua privileges. Untuk detail lebih 

lanjut, kunjungi http://tinyurl.com/mysqlgrant, yang juga mencakup perintah REVOKE, yang 

dapat menghapus privileges sesudah  diberikan. Perlu diketahui juga bahwa jika kita membuat 

user baru tetapi tidak menentukan klausa IDENTIFIED BY, user tidak akan memiliki kata sandi, 

situasi yang sangat tidak aman dan harus dihindari. 

Membuat tabel 

Pada titik ini, kita sekarang harus masuk ke MySQL dengan ALL privileges yang 

diberikan untuk publikasi database (atau database yang dibuat untuk Anda), jadi kita siap 

untuk membuat tabel pertama kita. Pastikan database yang benar digunakan dengan 

mengetik berikut ini (g anti publikasi dengan nama database kita jika berbeda):  

USE publications;  

Sekarang masukkan perintah satu baris pada satu waktu. 

Contoh Membuat tabel yang disebut klasik 

 

CREATE TABLE classics (  

author VARCHAR(128),  

title VARCHAR(128),  

type VARCHAR(16),  

year CHAR(4)) ENGINE MyISAM;  

 

Atau kita juga bisa mengeluarkan perintah ini pada satu baris seperti ini: 

 

CREATE TABLE classics (author VARCHAR(128), title VARCHAR(128),  

type VARCHAR(16), year CHAR(4)) ENGINE MyISAM;  

 

Akan tetapi perintah MySQL biasanya panjang dan rumit, sehingga saya hanya menyarankan 

untuk menulis satu baris per instruksi hingga kita merasa nyaman dengan baris yang lebih 

panjang. Selanjutnya MySQL harus mengeluarkan respons Query OK, 0 rows affect, bersama 

dengan berapa lama waktu yang dibutuhkan untuk mengeksekusi perintah. Jika kita melihat 

pesan kesalahan maka periksa sintaks kita dengan cermat. Setiap tanda kurung dan koma 

dihitung, dan kesalahan pengetikan juga sering terjadi, sehingga kita harus sangat berhati-hati 

dalam mengetikkan tanda kode apapun. ENGINE MyISAM memberi tahu MySQL jenis mesin 

database yang digunakan untuk tabel ini. Untuk memeriksa apakah tabel baru kita telah 

dibuat, ketik: 

 

DESCRIBE classics;  

 

16 

 

Manajemen Database MySQL

Anda akan melihat urutan perintah dan tanggapan yang ditunjukkan pada contoh dibawah ini, 

kita harus memperhatikan format tabel yang ditampilkan secara teliti. 

Contoh. Sesi MySQL: membuat dan memeriksa tabel baru 

 

mysql> USE publications; 

Database changed 

mysql> CREATE TABLE classics ( 

-> author VARCHAR(128),  

-> title VARCHAR(128),  

-> type VARCHAR(16),  

-> year CHAR(4)) ENGINE MyISAM;  

Query OK, 0 rows affected (0.03 sec) 

mysql> DESCRIBE classics; 

+--------+--------------+------+-----+---------+-------+ 

| Field  | Type         | Null | Key | Default | Extra | 

+--------+--------------+------+-----+---------+-------+ 

| author | varchar(128) | YES  |     | NULL    |       | 

| title  | varchar(128) | YES  |     | NULL    |       | 

| type   | varchar(16)  | YES  |     | NULL    |       | 

| year   | char(4)      | YES  |     | NULL    |       | 

+--------+--------------+------+-----+---------+-------+ 

4 rows in set (0.00 sec) 

 

Perintah DESCRIBE adalah bantuan debugging yang sangat berharga saat  kita perlu 

memastikan bahwa kita telah membuat tabel MySQL dengan benar. Kita juga dapat 

memakai nya untuk mengingatkan diri kita tentang nama field atau kolom tabel dan tipe 

data di masing-masing tabel. Mari kita lihat masing-masing judul secara detail: 

Field 

Nama setiap field atau kolom dalam tabel. 

Type 

Jenis data yang disimpan di field. 

Null 

Apakah field diperbolehkan berisi nilai NULL. 

Key 

MySQL mendukung kunci atau indeks, yang merupakan cara cepat untuk mencari data. Key 

heading menunjukkan jenis kunci (jika ada) yang telah diterapkan.  

Default 

Nilai default yang akan ditetapkan ke field jika tidak ada nilai yang ditentukan saat baris baru 

dibuat. 

Extra 

Informasi tambahan, seperti apakah field disetel ke peningkatan otomatis. 

 

1.6 MELINDUNGI DATABASE MySQL ANDA 

Anda perlu mengontrol akses ke informasi dalam database Anda. Kita perlu 

memutuskan siapa yang dapat melihat data dan siapa yang dapat mengubahnya. Jika orang 

jahat mendapatkan daftar informasi pribadi pelanggan kita (seperti nomor kartu kredit),  kita 

jelas memiliki masalah. Kita perlu menjaga data Anda. 

17 

 

Manajemen Database MySQL

MySQL menyediakan sistem keamanan untuk melindungi data Anda. Sistem tersebut 

mencakup hal-hal berikut: 

• Akun MySQL: Tidak ada yang bisa mengakses data di database kita tanpa akun. Akun 

tersebut memiliki nama yang harus digunakan pengguna. Akun juga dapat memiliki 

kata sandi yang harus diberikan user sebelum mereka mengakses akun. Selain itu, 

setiap akun menentukan dari mana kita dapat mengakses data, seperti hanya dari 

komputer saat ini atau hanya dari domain tertentu. 

• Izin: MySQL memakai  izin akun untuk menentukan siapa yang dapat melakukan 

apa. Siapa pun yang memakai  akun yang valid dapat terhubung ke server MySQL, 

tetapi dia hanya dapat melakukan hal-hal yang diizinkan oleh izin untuk akun tersebut. 

Misalnya, akun mungkin diatur sehingga user dapat memilih data tetapi tidak dapat 

menyisipkan atau memperbarui data. Atau, akun mungkin disiapkan agar dapat 

mengubah data di tabel tertentu, tetapi hanya bisa melihat data di tabel lain. 

Anda dapat membuat dan menghapus akun, menambah dan mengubah kata sandi, serta 

menambah dan menghapus izin dengan kueri SQL . Kita dapat mengirim kueri SQL dengan 

salah satu metode yang dijelaskan di bagian sebelumnya. Kita juga dapat mengelola akun 

MySQL kita dengan fitur yang disediakan oleh phpMyAdmin. 

  

18 

 

Manajemen Database MySQL

BAB 2 

MENGELOLA MySQL 

 

 

MySQL adalah perangkat lunak manajemen database. Ini mengelola database yang 

berisi informasi yang kita butuhkan untuk situs web dinamis yang kita bangun. Tujuan kita 

adalah untuk menyimpan data dalam database atau mengambil data dari database. Kita dapat 

menyimpan dan mengambil data secara langsung atau menyimpan dan mengambil data dari 

skrip PHP. Selain itu, seorang administrator MySQL diperlukan untuk memastikan bahwa 

MySQL melakukan pekerjaannya dengan benar dan efisien. Kita akan mempelajari tentang 

administrasi MySQL juga dalam bab ini. Dalam beberapa bagian pertama dari bab ini, kita akan 

mempelajari bagian tentang administrasi MySQL dan bagaimana cara mengontrol akses ke 

data kita dengan accountname, hostname, dan password. Selanjut, kita akan mengetahui 

informasi spesifik tentang cara menambahkan akun dan mengubah kata sandi dan privileges. 

Mencadangkan dan memulihkan database juga merupakan tugas administratif yang penting, 

dan kita juga memberi tahu kita cara melakukannya di bab ini. Terakhir, sebagai administrator 

MySQL, kita juga harus memastikan bahwa kita memakai  MySQL versi terbaru, dan kita 

membahasnya di bagian akhir bab ini. 

 

2.1 MEMAHAMI TANGGUNG JAWAB ADMINISTRATOR 

Mengelola MySQL mencakup tugas-tugas yang diperlukan untuk memastikan bahwa 

MySQL dapat melakukan tugas manajemen datanya dengan cara yang efisien dan aman. Kita 

mungkin bertanggung jawab atas beberapa atau semua tugas administratif, tergantung pada 

cara kita mengakses MySQL. Jika kita memakai  MySQL di komputer perusahaan hosting 

web, perusahaan hosting melakukan sebagian besar atau semua tugas administratif. Namun, 

jika kita memakai  MySQL di komputer lokal Anda, kita adalah administratornya, yang 

sepenuhnya bertanggung jawab atas administrasi MySQL. 

Adapun tugas pengurus antara lain sebagai berikut: 

• Instal MySQL. Jika MySQL berjalan di komputer web hosting, kita tidak bertanggung 

jawab atas instalasi. 

• Start dan Shut down server MySQL. Jika MySQL berjalan di komputer web hosting,  

kita tidak memulai atau menghentikan server. 

• Membuat dan memelihara akun user MySQL. Tidak ada yang bisa mengakses data di 

database kita tanpa akun. Akun perlu dipasang dan dihapus, kata sandi ditambahkan 

atau dihapus, dan privileges yang ditetapkan atau dihapus dari akun. Kita menjelaskan 

pengelolaan akun user di bagian "Menyetel Akun MySQL," nanti di bab ini. Jika  kita 

memakai  MySQL di perusahaan hosting web, kita mungkin atau mungkin tidak 

diizinkan untuk membuat atau mengubah akun MySQL . Kita mungkin terbatas pada 

satu akun dengan privileges yang ditentukan. 

• Cadangkan data. Kita perlu menyimpan salinan cadangan data kita jika data hilang 

atau rusak. Jika kita memakai  MySQL di hosting web perusahaan, kita perlu 

memeriksa dengan perusahaan itu mengenai prosedur pencadangannya. Kita mungkin 

masih ingin menyimpan cadangan kita sendiri, untuk berjaga-jaga jika prosedur 

pencadangan perusahaan hosting web gagal. Kita dapat membaca tentang database 

cadangan di bagian “Mencadangkan Database Anda”, nanti di bab ini.  

19 

 

Manajemen Database MySQL

• Perbarui MySQL. Instal rilis MySQL baru bila diperlukan. Jika MySQL berjalan di 

komputer hosting web, kita tidak bertanggung jawab atas pembaruan. Kita berbicara 

tentang memutakhirkan MySQL di bagian “Meningkatkan MySQL,” nanti di bab ini.  

Akses Default ke Data Anda 

saat  MySQL diinstal, akun MySQL default bernama root diinstal. Terkadang, akun ini 

dipasang tanpa kata sandi. Jika kita mengkonfigurasi MySQL pada Windows dengan Wizard 

Konfigurasi, kita menetapkan kata sandi selama prosedur konfigurasi. Selain itu, kita mungkin 

telah menyiapkan akun anonim tanpa nama akun dan tanpa kata sandi. Jika kita mengakses 

MySQL melalui perusahaan hosting web, perusahaan memberi kita nama akun dan kata sandi 

untuk digunakan. 

Secara umum, kita tidak boleh memakai  root akun tanpa kata sandi. Jika instalasi  

kita mengatur akun root tanpa kata sandi, segera tambahkan kata sandi. Akun root diatur 

dengan semua privileges. Kita memakai  akun ini untuk administrasi database MySQL 

Anda. Kita tidak memerlukan akun dengan semua privileges untuk mengakses database 

MySQL Anda, atau untuk menambah dan mengambil data. Oleh karena itu, dalam banyak 

kasus, kita ingin membuat akun dengan lebih sedikit privileges yang kita gunakan untuk 

mengakses data dari skrip PHP Anda, dan kita akan memberi tahu kita cara melakukannya di 

bab ini. 

 

2.2 MENGONTROL AKSES KE DATA ANDA 

Anda perlu mengontrol akses ke informasi dalam database Anda. Kita perlu 

memutuskan siapa yang dapat melihat data dan siapa yang dapat mengubahnya. Bayangkan 

apa yang akan terjadi jika pesaing kita dapat mengubah informasi di katalog produk online kita 

atau menyalin daftar pelanggan kita — kita akan gulung tikar dalam waktu singkat. Jelas, kita 

perlu menjaga data Anda. 

Untungnya, MySQL menyediakan sistem keamanan untuk melindungi data Anda. Tidak 

ada yang bisa mengakses data di database kita tanpa akun. Setiap akun MySQL memiliki 

atribut berikut: 

• Nama akun account name 

• Nama host - host name — mesin tempat akun dapat mengakses server MySQL 

• Kata sandi - password 

• Satu set privileges 

Untuk mengakses data Anda, seseorang harus memakai  nama akun yang valid dan 

mengetahui kata sandi yang terkait dengan akun tersebut. Selain itu, orang tersebut harus 

terhubung dari komputer yang diizinkan untuk terhubung ke database  kita melalui akun 

tertentu. 

sesudah  user diberikan akses ke database, apa yang dapat dia lakukan terhadap data 

tergantung pada privileges apa yang telah ditetapkan untuk akun tersebut. Setiap akun 

diperbolehkan atau tidak diizinkan untuk melakukan operasi di database Anda, seperti SELECT, 

DELETE, INSERT, CREATE, atau DROP. Pengaturan yang menentukan apa yang dapat dilakukan 

akun adalah privileges. Kita dapat mengatur akun dengan semua privileges, tanpa privileges, 

atau apa pun di antaranya. Misalnya, untuk katalog produk online, kita ingin pelanggan dapat 

melihat informasi dalam katalog tetapi tidak mengubah informasi tersebut. 

saat  user mencoba untuk terhubung ke MySQL dan mengeksekusi pernyataan, 

MySQL mengontrol akses ke data dalam dua tahap: 

20 

 

Manajemen Database MySQL

1. Verifikasi koneksi: MySQL memeriksa validitas nama akun dan kata sandi, dan 

memeriksa apakah koneksi berasal dari host yang diizinkan untuk terhub ung ke server 

MySQL dengan memakai  akun yang ditentukan. Jika semuanya diperiksa, MySQL 

menerima koneksi. 

2. Minta verifikasi: sesudah  MySQL menerima koneksi, ia memeriksa apakah akun 

memiliki privileges yang diperlukan untuk mengeksekusi pernyataan yang ditentukan. 

Jika ya, MySQL mengeksekusi pernyataan tersebut. 

Pernyataan apa pun yang kita kirim ke MySQL dapat gagal karena koneksi ditolak pada langkah 

pertama atau karena pernyataan tidak diizinkan pada langkah kedua. Pesan kesalahan 

dikembalikan untuk membantu kita mengidentifikasi sumber masalah. Di bagian berikut, kita 

menjelaskan akun dan privileges secara rinci. 

Hostname dan accountname 

Bersama-sama, nama akun dan nama host (nama komputer yang diizinkan untuk 

terhubung ke database) mengidentifikasi a kun unik. Dua akun dengan nama yang sama tetapi 

nama host yang berbeda dapat ada dan dapat memiliki kata sandi dan privileges yang 

berbeda. Namun, kita tidak dapat memiliki dua akun dengan nama dan nama host yang sama. 

Server MySQL menerima koneksi dari akun MySQL hanya saat  akun tersebut terhubung dari 

nama host. Saat kita membuat pernyataan GRANT atau REVOKE (yang  kita jelaskan di bagian 

“Mengubah privileges,” nanti di bab ini), kita mengidentifikasi akun MySQL dengan 

memakai  nama akun dan nama host dalam format berikut: accountname@namahost 

(untuk misalnya, root@localhost). Nama akun MySQL sama sekali tidak terkait dengan nama 

user Unix, Linux, atau Windows (kadang -kadang juga disebut nama login). Jika  kita 

memakai  akun MySQL administratif bernama root, akun tersebut tidak terkait dengan 

nama login root Unix atau Linux. Mengubah nama akun MySQL tidak memengaruhi nama login 

Unix, Linux, atau Windows — dan sebaliknya. Nama akun dan nama host MySQL memiliki 

karakteristik sebagai berikut: 

• Panjang nama akun dapat mencapai 16 karakter. Kita dapat memakai  karakter 

khusus dalam nama akun, seperti spasi atau tanda hubung ( -). Namun,  kita tidak dapat 

memakai  wildcard dalam nama akun. 

• Nama akun boleh kosong. Jika ada akun di MySQL dengan nama akun kosong, nama 

akun apa pun valid untuk akun itu. Seorang user dapat memakai  nama akun apa 

pun untuk terhubung ke database kita jika user terhubung dari nama host yang 

diizinkan untuk terhubung ke nama akun kosong dan memakai  kata sandi yang 

benar (jika kata sandi diperlukan) . Kita dapat memakai  akun dengan nama kosong 

untuk memungkinkan user anonim terhubung ke database Anda. 

• Nama host dapat berupa nama atau alamat IP. Misalnya, nama host dapat berupa 

nama, seperti thor.mycompany.com, atau alamat IP (protokol Internet), seperti 

192.163.2.33. Mesin tempat server MySQL diinstal adalah localhost. 

• Nama host dapat berisi wildcard. Kita dapat memakai  tanda persen (%) sebagai 

wildcard; % cocok dengan nama host mana pun. Jika  kita menambahkan akun untuk 

guswi@%, seseorang yang memakai  akun bernama george dapat terhubung ke 

server MySQL dari komputer mana pun. 

• Nama host boleh kosong. Membiarkan nama host kosong sama dengan memakai  

% untuk nama host.  

21 

 

Manajemen Database MySQL

Anda dapat membuat akun dengan nama akun kosong dan nama host kosong (atau tanda 

persen — % — untuk nama host). Akun seperti itu akan memungkinkan siapa pun untuk 

terhubung ke server MySQL dengan memakai  nama akun apa pun dari komputer mana 

pun. Tetapi kita mungkin tidak menginginkan akun seperti itu. Akun semacam ini terkadang 

diinstal saat  MySQL diinstal, tetapi tidak diberikan privileges, sehingga tidak dapat 

melakukan apa-apa. saat  MySQL diinstal, secara otomatis menginstal akun dengan semua 

privileges: root@localhost. Tergantung pada sis tem operasi Anda, akun ini mungkin diinstal 

tanpa kata sandi. Siapa pun yang masuk ke komputer tempat MySQL diinstal dapat mengakses 

MySQL dan melakukan apa saja dengan memakai  akun bernama root. (Tentu saja, root 

adalah nama akun yang terkenal, jadi akun ini tidak aman. Jika kita adalah administrator 

MySQL, segera tambahkan kata sandi ke akun ini.)  

Kata sandi 

Kata sandi diatur untuk setiap akun. Jika tidak ada kata sandi yang diberikan untuk 

akun, kata sandinya kosong, yang berarti tidak ada kata sandi yang diperlukan. MySQL tidak 

memiliki batasan panjang kata sandi, tetapi terkadang perangkat lunak lain di sistem kita 

membatasi panjangnya hingga delapan karakter. Jika demikian, karakter apa pun sesudah  

delapan akan dihapus.  

Untuk keamanan ekstra, MySQL mengenkripsi kata sandi sebelum menyimpannya. Itu 

berarti kata sandi tidak disimpan dalam karakter yang dapat dikenali yang  kita masukkan. 

Tindakan keamanan ini memastikan bahwa tidak ada yang bisa begitu saja melihat kata sandi 

yang disimpan dan memahami apa itu. Sayangnya, beberapa orang jahat di luar sana mungkin 

mencoba mengakses data kita dengan menebak kata sandi Anda. Mereka memakai  

perangkat lunak yang mencoba terhubung dengan cepat secara berurutan dengan kata sandi 

yang berbeda — praktik yang disebut serangan brute force. Jika server MySQL kita tidak boleh 

terpapar langsung ke Internet, penyerang harus mendapatkan akses ke server MySQL terlebih 

dahulu untuk mencoba serangan brute force. 

Privileges akun 

MySQL memakai  privileges akun untuk menentukan siapa yang dapat melakukan 

apa. Siapa pun yang memakai  akun yang valid dapat terhubung ke server MySQL, tetapi 

dia hanya dapat melakukan hal-hal yang diizinkan oleh privileges untuk akun tersebut. 

Misalnya, akun mungkin disiapkan agar user dapat memilih data tetapi tidak dapat 

menyisipkan atau memperbarui data. 

Privileges dapat diberikan untuk database, tabel, atau kolom tertentu. Misalnya, 

sebuah akun dapat mengizinkan user untuk memilih data dari semua tabel dalam database 

tetapi memasukkan data hanya ke dalam satu tabel dan memperbarui hanya satu kolom 

dalam tabel tertentu. Tabel dibawah mencantumkan beberapa privileges yang mungkin ingin 

kita tetapkan atau hapus. Privileges lain tersedia, tetapi lebih jarang digunakan. Kita dapat 

menemukan daftar lengkap privileges di manual online MySQL di 

http://dev.mysql.com/doc/refman/5.6/en/privileges-provided.html  

 

Tabel 2.1 Akun Privileges 

Privilege Deskripsi 

ALL Semua previlege 

ALTER Dapat mengubah struktur tabel 

CREATE Dapat membuat database atau tabel baru 

DELETE Dapat menghapus baris dalam tabel 

22 

 

Manajemen Database MySQL

DROP Dapat meletakkan database atau tabel 

FILE Dapat membaca dan menulis file di server 

GRANT  Dapat mengubah hak istimewa pada akun MySQL 

INSERT Dapat menyisipkan baris baru ke dalam tabel 

SELECT Dapat membaca data dari tabel 

SHUTDOWN Dapat mematikan server MySQL 

UPDATE Dapat mengubah data dalam tabel 

USAGE  Tidak ada hak istimewa 

 

Anda mungkin tidak ingin memberikan ALL karena itu mencakup privileges untuk 

operasi administratif, seperti mematikan server MySQL — privileges yang tidak ingin dimiliki 

orang lain selain diri kita sendiri. 

Menyiapkan Akun MySQL 

Sebuah akun diidentifikasi dengan nama akun dan nama komputer yang diizinkan 

untuk mengakses MySQL dari akun ini. Saat kita membuat akun baru, kita menetapkannya 

sebagai nama akun@namahost . Kita dapat menentukan kata sandi saat membuat akun, atau 

kita dapat menambahkan kata sandi nanti. Kita juga dapat mengatur privileges saat membuat 

akun atau menambahkan privileges nanti. 

 

2.3 DATABASE KEAMANAN MySQL 

saat  MySQL diinstal, secara otomatis membuat database yang disebut mysql. Semua 

informasi yang digunakan untuk melindungi data kita disimpan dalam database ini, termasuk 

nama akun, nama host, kata sandi, dan privileges. Privileges disimpan dalam kolom. Format 

setiap nama kolom adalah privilege_priv, di mana privileges adalah privileges akun tertentu. 

Misalnya, kolom yang berisi hak ALTER bernama alter_priv. Nilai di setiap kolom privileges 

adalah Y atau N, artinya ya atau tidak. Jadi, misalnya, di tabel user akan ada baris untuk akun 

dan kolom untuk alter_priv. Jika field akun untuk alter_priv berisi Y, akun tersebut dapat 

digunakan untuk mengeksekusi pernyataan ALTER. Jika alter_priv berisi N, akun tidak memiliki 

privileges untuk mengeksekusi pernyataan ALTER. 

Database mysql berisi tabel berikut yang menyimpan privileges: 

• User table: Tabel ini menyimpan privileges yang berlaku untuk semua database dan 

tabel. Ini berisi baris untuk setiap akun yang valid yang mencakup kolom nama 

pengguna, nama host, dan kata sandi. Server MySQL menolak koneksi untuk akun yang 

tidak ada di tabel ini 

• db table: Tabel ini menyimpan privileges yang berlaku untuk database tertentu. Ini 

berisi baris untuk database, yang memberikan privileges untuk nama akun dan nama 

host. Akun harus ada di tabel user agar privileges diberikan. Privileges yang diberikan 

dalam tabel user mengesampingkan privileges dalam tabel ini. Misalnya, jika tabel user 

memiliki baris untuk perancang akun yang memberikan privileges INSERT, perancang 

dapat menyisipkan ke semua database. Jika baris dalam tabel db menunjukkan N untuk 

INSERT untuk akun desainer di PetCatalogdatabase, tabel user mengesampingkannya, 

dan desainer dapat menyisipkan dalam database PetCatalog. 

• tabel host: Tabel ini mengontrol akses ke database, tergantung pada host. Tabel host 

berfungsi dengan tabel db. Jika baris dalam tabel db memiliki field kosong untuk host, 

MySQL memeriksa tabel host untuk melihat apakah db memiliki baris di sana. Dengan 

23 

 

Manajemen Database MySQL

cara ini, kita dapat mengizinkan akses ke db dari beberapa host tetapi tidak dari yang 

lain. Misalnya, kita memiliki dua database: db1 dan db2. Database db1 memiliki 

informasi sensitif, jadi kita hanya ingin orang-orang tertentu yang melihatnya. 

Database db2 memiliki informasi yang kita ingin semua orang lihat. Jika kita memiliki 

satu baris di tabel db untuk db1 dengan field host kosong, kita dapat memiliki dua baris 

untuk db1 di tabel host. Satu baris dapat memberikan semua privileges kepada user 

yang terhubung dari host tertentu, sedangkan baris lain dapat menolak privileges bagi 

user yang terhubung dari host lain. 

• table_priv table: Tabel ini menyimpan privileges yang berlaku untuk tabel tertentu. 

• tabel column_priv: Tabel ini menyimpan privileges yang berlaku untuk kolom tertentu. 

Anda dapat melihat dan mengubah tabel di mysql secara langsung jika kita memakai  akun 

yang memiliki privileges yang diperlukan. Kita dapat memakai  kueri SQL seperti SELECT, 

INSERT, dan UPDATE. Jika kita mengakses MySQL melalui perusahaan Anda, client, atau 

perusahaan hosting web, kita mungkin tidak memiliki akun dengan privileges yang diperlukan. 

Semua informasi akun disimpan dalam database bernama mysql yang secara otomatis dibuat 

saat  MySQL diinstal. Untuk menambahkan akun baru atau mengubah informasi akun apa 

pun, kita harus memakai  akun yang memiliki privileges yang sesuai di database mysql. Di 

bagian selanjutnya, kita menjelaskan cara menambah dan menghapus akun serta mengubah 

kata sandi dan privileges untuk akun — dan cara me-refresh privileges agar MySQL melihat 

perubahannya. Namun, jika kita memiliki akun yang kita terima dari departemen TI 

perusahaan kita atau dari perusahaan hosting web, kita mungkin menerima kesalahan saat 

mencoba menambahkan akun atau mengubah hak akun. Jika akun kita dibatasi untuk 

melakukan salah satu kueri yang diperlukan, kita perlu meminta akun dengan lebih banyak 

privileges atau meminta administrator MySQL untuk menambahkan akun baru untuk kita atau 

membuat perubahan yang kita perlukan. 

Mengidentifikasi akun apa yang saat ini ada 

Untuk melihat informasi akun, kita dapat menjalankan kueri SQL, memakai  client 

mysql. Untuk melihat akun apa yang saat ini ada untuk database Anda, kita memerlukan akun 

yang memiliki privileges yang diperlukan. 

Semua nama akun disimpan dalam database bernama mysql dalam tabel bernama 

pengguna. Untuk melihat informasi akun, kita dapat menjalankan kueri berikut pada database 

bernama mysql: 

 

SELECT * FROM user  

 

Anda harus mendapatkan daftar semua akun. Namun, jika kita mengakses MySQL melalui 

perusahaan kita atau perusahaan hosting web, kita mungkin tidak memiliki privileges yang 

diperlukan. Dalam hal ini, kita mungkin mendapatkan pesan kesalahan seperti ini: 

 

No Database Selecte 

 

Pesan ini berarti bahwa akun kita tidak diizinkan untuk memilih database mysql. Atau  kita 

mungkin mendapatkan pesan kesalahan yang mengatakan bahwa kita tidak memiliki 

privileges SELECT. Meskipun pesan ini mengganggu, itu pertanda bahwa perusahaan memiliki 

langkah-langkah keamanan yang baik. Namun, itu juga berarti kita tidak dapat melihat 

24 

 

Manajemen Database MySQL

privileges apa yang dimiliki akun Anda. Kita harus bertanya kepada administrator MySQL kita 

atau mencoba mencari tahu sendiri dengan mencoba kueri dan melihat apakah kita diizinkan 

untuk menjalankannya. 

Menambahkan akun 

Cara yang lebih disukai untuk mengakses MySQL dari PHP adalah membuat akun 

khusus untuk tujuan ini dengan hanya privileges yang diperlukan, dan kita menjelaskan di 

bagian ini cara menambahkan akun. Jika kita memakai  akun yang diberikan kepada kita 

oleh departemen TI perusahaan atau perusahaan hosting web, akun tersebut mungkin atau 

mungkin tidak memiliki semua privileges yang diperlukan untuk membuat akun. Jika tidak, kita 

tidak dapat berhasil menjalankan pernyataan untuk menambahkan akun, dan kita harus 

meminta akun kedua untuk digunakan dengan PHP.  

Jika kita perlu meminta akun kedua, dapatkan akun dengan privileges terbatas ( jika 

memungkinkan) karena aplikasi  database web kita lebih aman jika akun yang digunakan 

program PHP kita tidak memiliki lebih banyak privileges daripada yang diperlukan. Untuk 

membuat satu atau lebih user saat kita memiliki privileges yang diperlukan, kita dapat 

memakai  pernyataan CREATE USER (ditambahkan ke MySQL di versi 5.0.2), sebagai 

berikut: 

 

CREATE USER accountname@hostname IDENTIFIED BY ‘password’, accountname@hostname 

IDENTIFIED BY ‘password’,... 

 

Pernyataan ini membuat akun user baru yang ditentukan dengan kata sandi yang ditentukan 

untuk setiap akun dan tanpa privileges. Kita tidak perlu menentukan kata sandi. Jika kita 

meninggalkan IDENTIFIED BY 'password', akun dibuat tanpa kata sandi . Kita dapat 

menambahkan atau mengubah kata sandi untuk akun di lain waktu. Kita membahas 

menambahkan kata sandi dan privileges di bagian "Menambahkan dan mengubah kata sandi" 

dan "Mengubah privileges," nanti di bab ini. Jika  kita memakai  versi MySQL sebelum 

5.0.2, kita harus memakai  pernyataan GRANT untuk membuat akun . Kita menjelaskan 

pernyataan GRANT di bagian "Mengubah privileges", nanti di bab ini.  

Menambah dan mengubah kata sandi 

Kata sandi tidak diatur dalam batu. Kita dapat menambahkan atau mengubah kata 

sandi untuk akun yang ada. Seperti prosedur di bagian ini, kita dapat menambahkan atau 

mengubah kata sandi dengan pernyataan SQL, seperti ini: 

 

SET PASSWORD FOR username@hostname = PASSWORD(‘password’) 

 

Akun diatur ke kata sandi untuk akun username@hostname. Jika akun saat ini memiliki kata 

sandi, kata sandi diubah. Kita tidak perlu menentukan klausa FOR. Jika tidak, kata sandi disetel 

untuk akun yang sedang kita gunakan. Kita dapat menghapus kata sandi dengan mengirimkan 

pernyataan SET PASSWORD dengan kata sandi kosong: 

 

SET PASSWORD FOR username@hostname = PASSWORD(‘’) 

 

Saat kita membuat perubahan pada kata sandi, kita perlu menyegarkan privileges agar MySQL 

melihat perubahannya. Hal ini dicapai dengan FLUSH Pernyataan PRIVILEGES : 

25 

 

Manajemen Database MySQL

FLUSH PRIVILEGES  

 

Mengubah privileges 

Setiap akun memiliki serangkaian privileges yang menentukan apa yang dapat dan 

tidak dapat dilakukan oleh user akun tersebut. Kita dapat mengatur privileges saat membuat 

akun, tetapi kita juga dapat mengubah privileges akun kapan saja. Privileges paling berguna 

yang dapat kita atur untuk sebuah akun. Kita dapat melihat privileges saat ini untuk sebuah 

akun dengan mengirimkan pernyataan berikut: 

 

SHOW GRANTS ON accountname@hostname  

 

Outputnya adalah pernyataan GRANT yang akan membuat akun saat ini. Output menunjukkan 

semua privileges saat ini. Jika kita tidak menyertakan klausa ON, kita akan melihat privileges 

saat ini untuk akun yang mengeluarkan kueri SHOW GRANTS . Kita dapat mengubah privileges 

untuk akun dengan pernyataan GRANT, yang memiliki format umum berikut:  

 

GRANT privilege (columns) ON tablename TO accountname@hostname IDENTIFIED BY 

‘password’ 

 

Seperti perubahan terkait privileges lainnya, kita perlu menyegarkan privileges sesudah  

melakukan perubahan memakai  FLUSH PRIVILEGES . Kita juga dapat membuat akun baru 

atau mengubah kata sandi dengan pernyataan GRANT . Kita perlu mengisi informasi berikut: 

• privilege (columns): kita harus mencantumkan setidaknya satu privileges. Kita dapat 

membatasi setiap privileges ke satu atau lebih kolom dengan mencantumkan nama 

kolom dalam tanda kurung mengikuti privileges. Jika kita tidak mencantumkan nama 

kolom, privileges diberikan pada semua kolom dalam tabel. Kita dapat membuat daftar 

privileges dan kolom sebanyak yang diperlukan, dipisahkan dengan koma. Kita dapat 

melihat kemungkinan privileges. Misalnya, pernyataan GRANT mungkin dimulai 

dengan ini: 

 

GRANT select (firstName,lastName), update ,  

insert (birthdate) ...  

 

• tablename: Nama (atau nama) dari tabel di mana privileges diberikan. Kita harus 

menyertakan setidaknya satu tabel. Kita dapat membuat daftar beberapa tabel, 

dipisahkan dengan koma. Nilai yang mungkin untuk nama tabel adalah 

o tablename: Seluruh tabel bernama tablename dalam database saat ini. Kita 

dapat memakai  tanda bintang (*) untuk mengartikan semua tabel dalam 

database saat ini. Jika kita memakai  tanda bintang dan tidak ada database 

saat ini yang dipilih, privileges diberikan ke semua tabel di semua database. 

o databasename.tablename: Seluruh tabel bernama tablename di 

databasename. Kita dapat memakai  tanda bintang (*) baik untuk nama 

database atau nama tabel yang berarti semua database atau tabel. 

memakai  *.*m emberikan privileges pada semua tabel di semua database. 

26 

 

Manajemen Database MySQL

• accountname@hostname: Jika akun sudah ada, itu diberikan privileges yang 

ditunjukkan. Jika akun tidak ada, itu ditambahkan. Akun diidentifikasi dengan nama 

akun dan nama host sebagai pasangan. Jika ada akun dengan nama akun yang 

ditentukan tetapi nama host yang berbeda, akun yang ada tidak akan diubah; yang 

baru dibuat. 

• password: Kata sandi yang kita tambahkan atau ubah. Kata sandi tidak diperlukan. Jika 

kita tidak ingin menambah atau mengubah kata sandi untuk akun ini, tinggalkan frasa 

DIDENTIFIED BY ‘password’. 

Misalnya, pernyataan GRANT yang menambahkan akun baru untuk digunakan dalam skrip 

PHP untuk database katalog online bernama ProductCatalog mungkin: 

 

GRANT select ON ProductCatalog.* TO phpuser @localhost IDENTIFIED BY ‘A41!14a!’ 

 

Untuk menghapus privileges, gunakan pernyataan REVOKE. Bentuk umumnya adalah : 

 

REVOKE privilege (columns) ON tablename FROM accountname@hostname  

 

Anda harus mengisi informasi yang sesuai. Kita dapat menghapus semua privileges untuk 

sebuah akun dengan pernyataan REVOKE berikut : 

 

REVOKE all ON *.* FROM accountname@hostname  

 

Mengganti akun 

Anda mungkin ingin menghapus akun. Dalam kebanyakan kasus, memiliki akun yang 

tidak digunakan oleh siapa pun tidak memiliki efek negatif. Namun, jika menurut kita sebuah 

akun telah disusupi, kita mungkin ingin menghapusnya karena alasan keamanan. Untuk 

menghapus akun, kita dapat memakai  pernyataan DROP USER (yang ditambahkan di 

MySQL 4.1.1), sebagai berik ut: 

 

DROP USER accountname@hostname, accountname@hostname, ...  

 

Anda harus memakai  akun yang memiliki hak DELETE pada database mysql untuk 

mengeksekusi pernyataan DROP USER. Perilaku DROP USER telah berubah melalui versi 

MySQL. Pada MySQL 5.0.2, menghapus akun dan semua catatan yang terkait dengan akun, 

termasuk catatan yang memberikan privileges akun pada database atau tabel tertentu. 

Namun, dalam versi sebelum MySQL 5.0.2, DROP USER hanya menghapus akun yang tidak 

memiliki privileges. Oleh karena itu, di versi yang lebih lama, kita harus menghapus semua 

privileges dari sebuah akun, termasuk privileges database atau tabel, sebelum kita dapat 

menghapus akun itu. 

 

2.4 PENCADANGAN DAN PEMULIHAN 

Apa pun jenis data yang kita simpan di databas pasti memiliki nilai bagi kita. Penting 

bagi kita untuk menyimpan cadangan untuk melindungi investasi kita. Juga, akan ada saat-

saat saat  kita harus memigrasi database kita ke server baru; cara terbaik untuk melakukan 

ini biasanya dengan mencadangkannya terlebih dahulu. Penting juga bagi kita untuk menguji 

cadangan kita dari waktu ke waktu untuk memastikan bahwa cadangan tersebut valid dan 

27 

 

Manajemen Database MySQL

dapat berfungsi dengan baik jika digunakan. Mencadangkan dan memulihkan data MySQL 

mudah dilakukan dengan perintah mysqldump. 

Mencadangkan database Anda 

Anda harus memiliki setidaknya satu salinan cadangan dari database berharga Anda. 

Bencana jarang terjadi, tetapi memang terjadi. Komputer tempat database kita disimpan 

dapat rusak dan kehilangan data Anda, file komputer dapat rusak, gedung dapat terbakar, dan 

sebagainya. Salinan cadangan database kita menjaga dari kehilangan data dari bencana 

tersebut. Kita harus memiliki setidaknya satu salinan cadangan database kita yang disimpan 

di lokasi yang terpisah dari salinan yang kita gunakan saat ini. Kita mungkin harus memiliki 

lebih dari satu salinan — mungkin sebanyak tiga. Inilah cara kita dapat menyimpan salinan 

Anda: 

• Salinan pertama: Simpan satu salinan di lokasi yang praktis, bahkan mungkin di 

komputer yang sama tempat kita menyimpan database, untuk mengganti database 

yang rusak dengan cepat. 

• Salinan kedua: Simpan salinan kedua di komputer lain jika komputer tempat database 

kita rusak, membuat salinan cadangan pertama tidak tersedia. 

• Salinan ketiga: Simpan salinan ketiga di lokasi fisik yang berbeda untuk 

mempersiapkan kemungkinan kecil bahwa bangunan akan terbakar. Jika kita 

menyimpan salinan cadangan kedua di komputer di lokasi fisik lain, kita tidak 

memerlukan salinan ketiga ini. 

Jika kita tidak memiliki akses ke komputer di luar situs tempat kita dapat mencadangkan 

database, kita dapat menyalin cadangan ke media portabel, seperti CD atau DVD, dan 

menyimpannya di luar situs. Perusahaan tertentu akan menyimpan media komputer  kita di 

lokasi mereka dengan biaya tertentu, atau kita dapat memasukkan media ke dalam saku kita 

dan membawanya pulang 

Jika kita memakai  MySQL di komputer orang lain, seperti komputer perusahaan 

hosting web, orang yang menyediakan akses kita bertanggung jawab atas pencadangan. 

Mereka harus memiliki prosedur otomatis yang membuat cadangan database Anda. Saat 

mengevaluasi perusahaan hosting web, tanyakan tentang prosedur pencadangan. Kita ingin 

tahu seberapa sering salinan cadangan dibuat dan di mana mereka disimpan. Jika  kita tidak 

yakin bahwa data kita aman, kita dapat mendiskusikan perubahan atau penambahan pada 

prosedur pencadangan. 

Jika kita adalah administrator MySQL, kita bertanggung jawab untuk membuat 

cadangan. Bahkan jika kita memakai  MySQL di komputer orang lain, kita mungkin ingin 

membuat salinan cadangan kita sendiri, agar aman. Buat cadangan pada waktu-waktu 

tertentu — setidaknya sekali sehari. Jika database kita sering berubah, kita mungkin ingin 

membuat cadangan lebih sering. Misalnya, kita mungkin ingin mencadangkan ke direktori 

pencadangan setiap jam tetapi mencadangkan ke komputer lain sekali sehari. 

Anda dapat membuat cadangan database MySQL kita dengan memakai  program 

utilitas yang disebut mysqldump, yang disediakan oleh MySQL. Program mysqldump 

membuat file teks yang berisi semua pernyataan SQL yang kita perlukan untuk membuat ulang 

seluruh database Anda. File berisi pernyataan CREATE untuk setiap tabel dan pernyataan 

INSERT untuk setiap baris data dalam tabel. Kita dapat memulihkan database Anda, baik ke 

lokasi saat ini atau di komputer lain, dengan menjalankan kumpulan pernyataan MySQL ini. 

Mencadangkan di Windows 

28 

 

Manajemen Database MySQL

Untuk membuat salinan cadangan database kita di Windows, ikuti langkah-langkah 

berikut: 

1. Buka jendela command prompt. 

Misalnya, pilih Start➪All ProgramsAccessories➪Command Prompt. 

2. Ubah ke subdirektori bin di direktori tempat MySQL diinstal. 

Misalnya, ketik cd c:\ Program Files\ MySQL\ MySQL Server 5.0\ bin ke dalam command 

prompt. 

3. Ketik berikut ini 

mysqldump --user= accountname --password= password  

databasename >path \ backupfilename 

Mencadangkan di Linux, Unix, dan Mac 

Ikuti langkah-langkah ini untuk membuat salinan cadangan database kita di Linux, di 

Unix, atau di Mac:  

1. Ubah ke subdirektori bin di direktori tempat MySQL diinstal. 

 Misalnya, ketik cd /usr/local/mysql/bin. 

2. Ketik berikut ini: 

mysqldump --user= accountname --password= password  

databasename >path/backupfilename  

Dalam kode sebelumnya, buat substitusi berikut: 

o accountname: Ganti dengan nama akun MySQL yang  kita gunakan untuk 

membuat cadangan database. 

o password: Gunakan kata sandi untuk akun.  

o databasename: Gunakan nama database yang ingin  kita buat cadangannya. 

o path/backupfilename: Ganti path dengan direktori di mana  kita ingin 

menyimpan backup dan backupfilename dengan nama file di mana kita ingin 

menyimpan output SQL. 

Akun yang kita gunakan harus memiliki privileges SELECT. Jika akun tidak memerlukan kata 

sandi, kita dapat mengabaikan seluruh opsi kata sandi. Kita dapat mengetikkan perintah pada 

satu baris tanpa menekan Enter. Atau kita dapat mengetikkan garis miring terbalik ( \ ), tekan 

Enter, dan lanjutkan perintah di baris lain. Misalnya, untuk mencadangkan database 

PetCatalog, kita dapat memakai  perintah: 

 

mysqldump--user=root --password=secretPetCatal og\  

>/usr/local/mysql/backups/PetCatalogBackup  

 

Catatan: Dengan Linux atau Unix, akun yang  kita masuki harus memiliki privileges untuk 

menulis file ke direktori cadangan. 

Anda harus mengetik perintah mysqldump pada satu baris tanpa menekan Enter. 

Dalam kode sebelumnya, buat substitusi berikut: 

• accountname: Masukkan nama akun MySQL yang kita gunakan untuk membuat 

cadangan database. Akun yang kita gunakan harus memiliki privileges SELECT. Jika 

akun tidak memerlukan kata sandi, kita dapat mengabaikan seluruh opsi kata sandi. 

• password: Gunakan kata sandi untuk akun.  

• databasename: Ganti dengan nama database yang ingin  kita backup. 

29 

 

Manajemen Database MySQL

• path\backupfilename: Ganti path dengan direktori tempat  kita ingin menyimpan 

cadangan dan gunakan nama file tempat kita ingin menyimpan output SQL sebagai 

ganti namafile cadangan. Misalnya, untuk mencadangkan database ProductCatalog, 

kita dapat memakai  perintah 

mysqldump --user=root ProductCatalog >ProdCatalogBackup  

memakai  mysqldump 

Dengan mysqldump, kita dapat membuang database atau kumpulan database ke 

dalam satu atau lebih file yang berisi semua instruksi yang diperlukan untuk membuat ulang 

semua tabel kita dan mengisinya kembali dengan data kita. Mysqldump juga menghasilkan file 

dalam CSV (Comma Separated Values) dan format teks terbatas lainnya, atau bahkan dalam 

format XML. Kelemahan utamanya adalah kita harus memastikan bahwa tidak ada yang 

menulis ke tabel saat kita mencadangkannya. Ada berbagai cara untuk melakukan ini, salah 

satunya adalah mematikan server MySQL sebelum melakukan mysqldump dan memulai 

kembali server sesudah  mysqldump selesai. Atau kita dapat mengunci tabel yang kita buat 

cadangannya sebelum menjalankan mysqldump. Untuk mengunci tabel agar dapat dibaca 

(karena kita ingin memba ca data), jalankan perintah berikut dari command line MySQL:  

 

LOCK TABLES tablename1 READ, tablename2 READ ... 

 

Kemudian, untuk melepaskan kunci, masukkan: 

 

UNLOCK TABLES;  

 

Secara default, output dari mysqldump hanya dicetak, tetapi kita dapat menangkapnya dalam  

file melalui symbol > redirect. Format dasar dari perintah mysqldump adalah:  

 

mysqldump -u user -ppassword database 

 

Namun, sebelum kita bisa membuang konten database, kita harus memastikan bahwa 

mysqldump ada di jalur Anda, atau kita menentukan lokasinya sebagai bagian dari perintah 

kita. Tabel dibawah ini menunjukkan kemungkinan lokasi program untuk berbagai instalasi 

dan sistem operasi. Jika kita memiliki instalasi yang berbeda, mungkin lokasinya sedikit 

berbeda. 

 

Tabel 2.2 Kemungkinan lokasi mysqldump untuk instalasi yang berbeda 

Program dan Sistem Operasi Lokasi Folder yang diinginkan 

Windows 32-bit Zend Server  C:\Program Files\Zend\MySQL55\ 

Windows 64-bit Zend Server  C:\Program Files (x86)\Zend\MySQL55\bin 

OS X Zend Server  usrlocal/zend/mysql/bin 

Linux Zend Server  usrlocal/zend/mysql/bin 

 

Jadi, untuk membuang konten database publikasi yang kita buat, masukkan 

mysqldump (atau path lengkap jika perlu) dan lakukan seperti perintah dibawah ini. 

Contoh Membuang database publikasi ke layar 

 

mysqldump -u user -ppassword publications 

 

30 

 

Manajemen Database MySQL

 Pastikan kita mengganti user dan password dengan detail yang benar untuk instalasi 

MySQL kita. Jika tidak ada kata sandi yang ditetapkan untuk user, kita dapat menghilangkan 

bagian perintah itu, tetapi bagian -u user adalah wajib—kecuali jika kita memiliki akses root 

tanpa kata sandi dan dijalankan sebagai root (tidak disarankan). Hasil dari mengeluarkan 

perintah ini akan terlihat seperti gambar dibawah ini. 

 

Gambar 2.1 Membuang database publikasi ke screen 

 

Membuat File Cadangan 

Sekarang sesudah  mysqldump berfungsi, dan telah memverifikasi outputnya dengan 

benar ke layar, kita dapat mengirim data cadangan langsung ke file memakai  symbol > 

redirect. Dengan asumsi bahwa kita ingin memanggil file backup publishings.sql, ketik 

perintah seperti contoh dibawah ini (ingatlah untuk selalu mengganti user dan password 

dengan rincian yang benar).  

Contoh Membuang database publikasi ke file 

 

mysqldump -u user -ppassword publications > publications.sql  

 

Jika kita meng-echo-kan file cadangan ke layar atau memuatnya ke editor teks, kita akan 

melihat bahwa itu terdiri dari urutan perintah SQL seperti berikut: 

 

DROP TABLE IF EXISTS `classics`;  

CREATE TABLE `classics` (  

`author` varchar(128) default NULL,  

`title` varchar(128) default NULL,  

`category` varchar(16) default NU LL, 

`year` smallint(6) default NULL,  

`isbn` char(13) NOT NULL default ' ',  

PRIMARY KEY (`isbn`),  

KEY `author` (`author`(20)),  

KEY `title` (`title`(20)),  

KEY `category` (`category`(4)),  

KEY `year` (`year`),  

FULLTEXT KEY `author_2` (`author`,`title`)  

) ENGINE=MyISAM DEFAULT CHARSET=latin1;  

31 

 

Manajemen Database MySQL

Ini adalah smart code yang dapat digunakan untuk memulihkan database dari cadangan, 

meskipun saat ini ada, karena ini akan terlebih dahulu menghapus tabel apa pun yang perlu 

dibuat ulang, sehingga menghindari potensi kesalahan MySQL. 

Mencadangkan satu tabel 

Untuk mencadangkan hanya satu tabel dari database (seperti tabel klasik dari 

database publikasi), kita harus terlebih dahulu mengunci tabel dari dalam command line 

MySQL, dengan mengeluarkan perintah seperti berikut: 

 

LOCK TABLES publications.classics READ;  

 

Ini dapat memastikan bahwa MySQL tetap berjalan dengan tujuan membaca, tetapi penulisan 

tidak dapat dilakukan. Kemudian, sambil menjaga command line MySQL tetap terbuka, 

gunakan jendela terminal lain untuk mengeluarkan perintah berikut dari command line sistem 

operasi: 

 

mysqldump -u user -ppassword publications classics > classics.sql  

 

Anda sekarang harus melepaskan kunci tabel dengan memasukkan perintah berikut dari 

command line MySQL di jendela terminal pertama, yang membuka kunci semua tabel yang 

telah dikunci selama sesi saat ini: 

 

UNLOCK TABLES;  

 

Mencadangkan semua tabel 

Jika kita ingin mencadangkan semua database MySQL kita sekaligus (termasuk 

database sistem seperti mysql), kita dapat memakai  perintah seperti pada Contoh 

dibawah yang akan memungkinkan kita untuk memulihkan seluruh instalasi database MySQL. 

Ingatlah untuk memakai  penguncian jika diperlukan. 

Contoh Membuang semua database MySQL ke file 

 

mysqldump -u user -ppassword --all-databases > all_databases.sql  

 

Memulihkan Data Anda 

Pada titik tertentu, salah satu tabel database kita mungkin rusak dan tidak dapat 

digunakan. Ini tidak biasa, tetapi itu terjadi. Misalnya, masalah perangkat keras atau komputer 

mati yang tidak terduga dapat menyebabkan tabel rusak. Terkadang, anomali dalam data yang 

membingungkan MySQL dapat menyebabkan tabel rusak. Dalam beberapa kasus, tabel yang 

rusak dapat menyebabkan server MySQL kita dimatikan. Berikut adalah pesan kesalahan 

umum yang menandakan tabel yang rusak: 

 

Incorrect key file for table: ‘tablename’. 

 

Anda dapat mengganti tabel yang rusak dengan data yang disimpan dalam salinan cadangan. 

Namun, dalam beberapa kasus, database mungkin hilang sama sekali. Misalnya, jika komputer 

tempat database kita berada rusak dan tidak dapat diperbaiki, database kita saat ini akan 

hilang — tetapi data kita tidak hilang selamanya. Kita dapat mengganti komputer yang rusak 

dengan komputer baru dan memulihkan database kita dari salinan cadangan. Kita dapat 

mengganti tabel database kita saat ini dengan database yang kita simpan di salinan cadangan. 

32 

 

Manajemen Database MySQL

Salinan cadangan berisi snapshot data seperti saat salinan dibuat. Tentu saja,  kita tidak 

mendapatkan perubahan apa pun pada database sejak salinan cadangan dibuat;  kita harus 

membuat ulang perubahan tersebut secara manual. Sekali lagi, jika kita mengakses MySQL 

melalui departemen TI atau melalui perusahaan hosting web, kita perlu meminta 

administrator MySQL untuk memulihkan database kita dari cadangan. Jika kita adalah 

administrator MySQL, kita dapat memulihkannya sendiri. 

Kita membangun database dengan membuat database dan kemudian menambahkan 

tabel ke database. Cadangan yang dibuat oleh utilitas mysqldump adalah file yang berisi 

semua pernyataan SQL yang diperlukan untuk membangun kembali tabel, tetapi tidak berisi 

pernyataan yang kita perlukan. untuk membuat database itu sendiri. Untuk memulihkan 

database dari file backup, kita harus mengedit file backup terlebih dahulu (yang mer upakan 

file teks). Kemudian,  kita memakai  client mysql untuk membuat database dari 

pernyataan SQL di file cadangan 

Pertama, kita mengedit file cadangan dengan mengikuti langkah-langkah berikut: 

1. Buka file cadangan di editor teks. 

2. Temukan baris yang menunjukkan Versi Server. 

3. Jika kita ingin membangun kembali seluruh database, tambahkan pernyataan 

berikut di bawah garis yang kita temukan di Langkah 2: 

CREATE DATABASE IF NOT EXISTS databasename 

4. Di bawah baris pada Langkah 3, tambahkan baris yang menentukan database mana 

yang akan ditambahkan tabel menjadi: 

USE databasename 

5. Periksa blok pernyataan yang membangun kembali tabel. 

Jika kita tidak ingin membuat ulang tabel, tambahkan -- (dua tanda hubung) di awal 

setiap baris yang membuat ulang tabel. Tanda hubung menandai garis sebagai 

komentar. 

6. Periksa baris INSERT untuk setiap tabel. 

Jika kita tidak ingin menambahkan data ke tabel apa pun, beri komentar pada baris 

INSERT datanya. 

7. Simpan file cadangan yang telah diedit. 

sesudah  file cadangan berisi pernyataan yang ingin kita gunakan untuk membangun kembali 

database atau tabel, kita dapat memakai  client mysql untuk mengeksekusi pernyataan 

SQL dalam file cadangan. Ikuti saja langkah-langkah ini: 

1. Dari prompt baris perintah, ubah ke subdirektori bin di direktori tempat MySQL 

diinstal. 

 Di Windows, kita membuka jendela command prompt untuk memakai  client 

mysql. Ketik perintah cd untuk mengubah ke direktori yang benar. Misalnya, kita dapat 

mengetik cd/usr/local/mysql/bin atau cdc:\Program Files\MySQL\MySQL Server 

5.0\bin. 

2. Ketik perintah ini (yang mengirimkan kueri SQL dalam file cadangan): 

mysql -u accountname -p < path/backupfilename  

Anda mengganti nama akun dengan akun yang memiliki privileges CREATE. Jika akun 

tidak memerlukan kata sandi, tinggalkan -p. Jika kita memakai  -p, kita akan 

dimintai kata sandi. Gunakan seluruh jalur dan nama file untuk file cadangan. Misalnya,  

kita dapat memakai  perintah ini untuk memulihkan database ProductCatalog: 

33 

 

Manajemen Database MySQL

mysql -u root -p < c: \ Program Files\ MySQL\ MySQL Server 

5.0\ bin\ bak\ ProductCatalog.bak 

 

Memulihkan dari File Cadangan 

Untuk melakukan pemulihan dari file, panggil executable mysql, berikan file untuk 

dipulihkan memakai  simbol <. Jadi, un tuk memulihkan seluruh database yang kita buang 

memakai  opsi --all-databases, gunakan perintah seperti dibawah ini: 

Contoh Memulihkan seluruh rangkaian database 

 

mysql -u user -ppassword < all_databases.sql  

 

Untuk memulihkan satu database gunakan opsi -D diikuti dengan nama database, seperti pada 

Contoh diatas di mana database publikasi sedang dipulihkan dari cadangan yang dibuat pada 

Contoh sebelumnya.  

Contoh Memulihkan database publikasi 

 

mysql -u user -ppassword -D publications < publications.sql  

 

Untuk memulihkan satu tabel ke database, gunakan perintah seperti pada Contoh 

dibawah di mana hanya tabel klasik yang dipulihkan ke database publikasi. 

Contoh  Memulihkan tabel klasik ke database publikasi 

 

mysql -u user -ppassword -D publications < classics.sql  

 

Tabel mungkin memerlukan waktu singkat untuk dipulihkan. Tunggu sampai perintah 

selesai. Jika terjadi masalah, pesan kesalahan akan muncul. Jika tidak ada masalah yang 

terjadi, kita tidak akan melihat output. saat  perintah selesai, prompt muncul. Database kita 

sekarang dipulihkan dengan semua data yang ada di dalamnya pada saat salinan dibuat. Jika 

data telah berubah sejak salinan dibuat, kita akan kehilangan perubahan tersebut. Misalnya, 

jika lebih banyak data ditambahkan sesudah  salinan cadangan dibuat, data baru tidak akan 

dipulihkan. Jika kita mengetahui perubahan yang dibuat sesudah  membuat cadangan, kita 

dapat membuatnya secara manual di database yang dipulihkan. 

Membuang Data dalam Format CSV 

Seperti disebutkan sebelumnya, program mysqldump sangat fleksibel dan mendukung 

berbagai jenis output, seperti format CSV. Contoh selanjutnya akan menunjukkan bagaimana 

kita bisa membuang data dari tabel klasik dan pelanggan di database publikasi ke file 

classics.txt dan customers.txt di folder c:/temp. Secara default, pada Server Zend user harus 

root dan tidak ada kata sandi yang digunakan. Pada sistem OS X atau Linux, kita harus 

mengubah jalur tujuan ke folder yang ada. 

Contoh Membuang data ke file format CSV 

 

mysqldump -u user -ppassword --no-create-info --tab=c:/temp  

--fields-terminated-by=',' publications  

 

Perintah ini cukup panjang dan ditampilkan di sini terbungkus beberapa baris, tetapi 

kita harus mengetik semuanya sebagai satu baris. Hasilnya adalah sebagai berikut: 

 

Agus Widodo (Joseph Teguh )','Belajar PHP dari dasar','Ilmiah','2020','9781598184891 

34 

 

Manajemen Database MySQL

Agus Widodo','Membangun PODCAST', Ilmiah','2021','9780582506206 

Mars Caroline W','Desain Seni Rupa Realis dan Tata Warna','Ilmiah','2022','9780517123201 

Sarwo Nugroho','Potret Diri Sebagai Komunikasi Visual Simbolik','Classic 

Ilmiah','2022','9780099533474 

Edy Jogatama P','Desain Seni Rupa Klasik','Play','2022','9780192814968 

Mars Caroline','9780582506206 

Sarwo Nugroho','9780517123201 

Merencanakan Cadangan Anda 

 

Aturan emas untuk membuat cadangan adalah melakukannya sesering mungkin hingga kita 

merasa semuanya menjadi praktis. Semakin berharga nilai dari data Anda, Anda harus 

semakin sering mencadangkannya, dan semakin banyak salinan yang harus kita buat. Jika 

database kita diperbarui sekali sehari, maka harus mencadangkannya setiap hari. Sebaliknya, 

jika tidak terlalu sering diperbarui, kita mungkin bisa bertahan dengan pencadangan diwaktu 

tertentu saja. 

 

2.5 UPGRADE MySQL 

Versi baru MySQL dirilis secara berkala, dan kita dapat memutakhirkan dari satu versi 

MySQL ke versi yang lebih baru. Kita dapat menemukan informasi upgrade di manual MySQL 

di http://dev.mysql.com/doc/refman/5.5/en/upgrading.html.  Namun, ada pertimbangan 

khusus saat kita melakukan upgrade. Sebagai tindakan pencegahan, buat cadangan database 

kita saat ini, termasuk tabel GRANT di database mysql, sebelum memutakhirkan. MySQL 

menyarankan kita untuk tidak melewatkan versi. Jika kita ingin mengupgrade dari satu versi 

ke versi lebih dari satu versi yang lebih baru, seperti dari MySQL 4.0 ke MySQL 5.0, kita harus 

mengupgrade ke versi berikutnya terlebih dahulu. sesudah  versi tersebut berfungsi dengan 

benar, kita dapat meningkatkan ke versi berikutnya, dan seterusnya. Dengan kata lain, 

tingkatkan dari 4.0 ke 4.1, lalu dari 4.1 ke 5.0. 

Kadang-kadang, perubahan yang tidak kompatibel diperkenalkan di versi baru MySQL. 

Beberapa rilis memperkenalkan perubahan pada struktur tabel GRANT. Misalnya, MySQL 4.1 

mengubah metode enkripsi kata sandi, memerlukan  field kata sandi yang lebih panjang di 

tabel GRANT. sesudah  memutakhirkan ke versi yang lebih baru,  kita harus menjalankan skrip 

mysql_upgrade. Ini memperbaiki file  kita dan memutakhirkan tabel sistem, jika diperlukan. 

Dalam versi sebelum MySQL versi 5.0.19, skrip mysql_upgrade tidak berjalan di Windows; itu 

hanya berjalan di Unix. Di Windows,  kita dapat menjalankan skrip yang disebut 

mysql_fix_privileges_tables dengan versi MySQ L sebelum 5.0.19. Skrip memutakhirkan tabel 

sistem tetapi tidak melakukan pemeriksaan dan perbaikan tabel lengkap yang dilakukan 

mysql_upgrade.  

  

35 

 

Manajemen Database MySQL

BAB 3 

MENDESAIN DAN MEMBANGUN DATABASE 

 

 

Langkah pertama dalam membuat database adalah mendesainnya. Kita mendesain 

database sebelum kita mulai mengetekkan jari ke keyboard untuk membuat database. 

Perencanaan mungkin merupakan langkah yang paling penting. Dalam bab ini kita 

memberikan beberapa tip untuk merancang database yang akan bekerja baik. sesudah  

menyelesaikan desain database, selanjutnya kita siap untuk membangun database itu, dan 

kita akan memberi tahu kita cara melakukannya juga, nanti di bab ini. Kita membuat database 

dan tabelnya sesuai dengan desain yang kita kembangkan. Saat dibangun, kita memiliki 

database kosong yang berguna, menunggu kita untuk mengisinya dengan data. 

 

3.1 DESAIN DATABASE 

Sangat penting bagi kita untuk mendesain database dengan benar sebelum kita mulai 

membuatnya. Sebagai contoh saja, dalam database toko buku online ada beberapa 

pertanyaan seperti: 

• Berapa banyak penulis, buku, dan pelanggan dalam database?  

• Penulis mana yang menulis buku tertentu?  

• Buku apa yang ditulis oleh penulis tertentu?  

• Buku apa yang paling mahal?  

• Buku apa yang paling laris?  

• Buku apa yang belum terjual tahun ini?  

• Buku apa yang dibeli pelanggan tertentu?  

• Buku apa yang bisa dibeli berbagai kalangan usia?  

Sebebenarnya ada lebih banyak kueri yang dapat kita buat pada database semacam itu, tetapi 

sampel kecil ini akan mulai memberi kita wawasan tentang cara menata layout tabel kita. 

Misalnya, buku dan ISBN mungkin dapat digabungkan menjadi satu tabel, karena keduanya 

terkait erat (kita akan memeriksa beberapa seluk -beluknya nanti). Sebaliknya, buku dan 

pelanggan harus berada di kolom terpisah, karena koneksi mereka sangat longgar. Seorang 

pelanggan dapat membeli buku apapun. saat  kita berencana untuk melakukan banyak 

pencarian pada sesuatu, akan selalu menguntungkan jika memiliki kolom sendiri. 

Merancang database 

Merancang database termasuk mengidentifikasi data yang kita butuhkan dan 

mengatur data dengan cara yang dibutuhkan perangkat lunak database. Saat kita 

merencanakan desain database, kita juga harus memutuskan kunci utama untuk setiap tabel 

dan bagaimana tabel berhubungan satu sama lain. Kita juga harus mempertimbangkan jenis 

data apa yang akan kita simpan di database Anda. 

Memilih data 

Untuk mendesain database, pertama-tama kita harus mengidentifikasi informasi apa 

yang ada di dalamnya. Database harus berisi data yang diperlukan agar situs web dapat 

menjalankan tujuannya. 

Berikut adalah beberapa contoh: 

• Katalog online memerlukan  database yang berisi informasi produk. 

• Aplikasi pemesanan online memerlukan  database yang dapat menampung informasi 

pelanggan dan informasi pemesanan. 

36 

 

Manajemen Database MySQL

• Situs web perjalanan memerlukan database dengan informasi tentang tujuan, 

reservasi, tarif, jadwal, dan sebagainya. 

Dalam banyak kasus, aplikasi kita mungkin menyertakan tugas yang mengumpulkan informasi 

dari pengguna. Misalnya, pelanggan yang membeli produk dari situs web harus memberikan 

alamat, nomor telepon, informasi kartu kredit, dan data lainnya untuk menyelesaikan 

pesanan. Informasi harus disimpan setidaknya sampai pesanan dipenuhi. Seringkali, situs web 

menyimpan informasi pelanggan untuk memfasilitasi pesanan di masa mendatang sehingga 

pelanggan tidak perlu mengetik ulang informasi saat melakukan pemesanan berikutnya. 

Informasi tersebut juga memberikan peluang pemasaran kepada bisnis yang mengoperasikan 

situs web, seperti mengirimkan penawaran pemasaran atau buletin kepada pelanggan. 

Database pelanggan mungkin mengumpulkan informasi pelanggan berikut: 

• Nama 

• Alamat 

• Nomor telepon 

• Nomor faks 

• Alamat email 

Anda harus menyeimbangkan keinginan kita untuk mengumpulkan semua informasi yang 

berpotensi berguna yang dapat kita pikirkan dengan keengganan user kita untuk memberikan 

informasi pribadi — serta menghindari formulir yang terlihat terlalu memakan waktu. Salah 

satu kompromi adalah meminta beberapa informasi opsional. User yang tidak keberatan 

dapat memasukkan informasi tersebut, tetapi user yang keberatan dapat mengosongkan 

bagian formulir tersebut. Kita juga dapat menawarkan insentif: Semakin panjang formulir, 

semakin kuat insentif yang kita butuhkan untuk memotivasi user mengisi formulir. 

Misalnya, Seorang user mungkin bersedia mengisi formulir singkat untuk mengikuti 

undian yang menawarkan dua tiket film pratinjau sebagai hadiah, tetapi jika formulirnya 

panjang dan rumit, hadiahnya harus lebih bernilai, seperti kesempatan untuk memenangkan 

perjalanan ke Hollywood. 

Luangkan waktu untuk mengembangkan daftar lengkap informasi yang kita butuhkan 

untuk disimpan dalam database Anda. Meskipun kita bisa mengubah dan menambahkan 

informasi ke database kita sesudah  kita mengembangkannya, termasuk informasi dari awal 

lebih mudah, dan kita mungkin bisa menghindari pekerjaan ekstra untuk mengubah database 

nanti. Juga, jika kita menambahkan informasi ke database nanti — sesudah  database itu 

digunakan — user pertama dalam database memiliki informasi yang tidak lengkap. Misalnya, 

jika kita mengubah formulir sehingga sekarang menanyakan usia pengguna, kita tidak memiliki 

usia untuk orang yang sudah mengisi formulir dan sudah ada di database. 

Mengorganisir data 

MySQL adalah Relational Database Management System (RDBMS), yang artinya data 

diorganisasikan ke dalam tabel-tabel. Tabel RDBMS diatur seperti tabel lain yang biasa kita 

gunakan — dalam baris dan kolom, seperti yang ditunjukkan pada tabel berikut. 

 

Column 1 Column 2 Column 3 Column 4 

Row 1 

Row 2 

Row 3 

Row 4 

37 

 

Manajemen Database MySQL

Sel individu di mana baris dan kolom tertentu berpotongan disebut field. Fokus setiap 

tabel adalah objek (sesuatu) yang ingin  kita simpan informasinya. Berikut adalah beberapa 

contoh objek: 

• Pelanggan 

• Produk 

• Perusahaan 

• Hewan 

• Kota 

• Kamar 

• Buku 

• Komputer 

• Bentuk 

• Dokumen 

• Proyek 

• Minggu 

Anda membuat tabel untuk setiap objek. Nama tabel harus secara jelas mengidentifikasi objek 

yang dikandungnya dengan kata atau istilah deskriptif, berdasarkan panduan berikut: 

• Nama harus berupa string karakter, berisi huruf, angka, garis bawah, atau tanda dolar, 

tetapi tanpa spasi. 

• Merupakan kebiasaan untuk menamai tabel dalam bentuk tunggal. Jadi, nama untuk 

tabel pelanggan mungkin adalah Pelanggan, dan tabel yang berisi pesanan pelanggan 

dapat diberi nama PesananPelanggan 

• Perbedaan antara huruf besar dan huruf kecil signifikan pada Linux dan Unix, tetapi 

tidak pada Windows. CustomerOrder dan Customerorder sama untuk Windows — 

tetapi tidak u