DCL (Data Control Language)
DCL merupakan perintah yang digunakan untuk memanipulasi user dan hak akses
terhadap database. Memanipulasi user yang dimaksud di antaranya membuat dan
menghapus user untuk mengakses database yang sudah diberi hak akses. Hal ini diperlukan
untuk membatasi siapa saja yang dapat berkontribusi dan mengotak-atik database yang
telah dibuat. Untuk membuat user dapat menggunakan perintah
dengan ketentuan perintah
yang dimulai dari ‘@’ sampai akhir perintah bersifat opsisonal, artinya hanya diisi sesuai
kebutuhan. Berikut penjelasan untuk perintah di atas :
merupakan nama user yang akan digunakan untuk masuk ke dalam
database, maksimal 16 karakter.
'nama_user'
bersifat opsional (boleh diisi atau dikosongkan), contoh :
IDENTIFIED BY 'password';. Value yang dapat diisi pada
contohnya ip addres, wildcard (%) yang berarti sama dengan tidak menuliskannya
(dapat diakses dari semua lokasi), bahkan ip address dan wildcard (‘uname
artinya database dapat diakses dari lokasi 10.44.7.1 sampai
10.44.7.255)
juga bersifat opsional, jika ketika membuat user password disertakan, maka
untuk masuk ke database menggunakan username tersebut juga harus menyertakan
password yang telah dibuat (mysql –u uname –ppassword)
Selain membuat user, DCL juga dapat menghapus user yang telah dibuat dengan
menggunakan perintah
Note : tulisan berwarna hijau bersifat opsional, dapat digunakan ketika menghapus
user yang pada saat membuatnya disertai ip address.
Dalam DCL dijumpai dua perintah untuk membuat dan mencabut hak akses terhadap
database dari user tertentu.
GRANT : memungkinkan pengguna mengakses hak istimewa ke database
adalah privileges yang akan berikan kepada user tersebut. Hak akses
disini berisi query yang diperbolehkan, seperti: SELECT, INSERT, UPDATE,
DELETE, atau query lainnya. Jika kita ingin memberikan hak penuh untuk
semua query dasar tersebut, hak_akses ini bisa diisi dengan ALL.
adalah daftar kolom yang akan diberi akses jika hanya akan
memberi akses terhadap kolom-kolom tertentu saja, bersifat opsional.
adalah nama database yang ingin diberikan hak akses. Jika kita
mengizinkan user tersebut dapat mengakses semua database yang ada,
nama_database bisa ditulis dengan tanda asterisk (*).
adalah nama tabel yang ingin diberikan hak akses. Jika kita
mengizinkan user dapat menggunakan semua tabel, nama_tabel bisa ditulis
dengan tanda asterisk (*).
adalah nama dari user yang akan diberikan hak akses.
lokasi_user
CREATE
USER
lokasi_user
Praktikum Perancangan Basis Data
ROLLBA
CK
COMM
IT
SAVEPOINT identifier
START
TRANSACITON
SHOW GRANTS FOR ‘nama_user’@’lokasi_user’;
nama_user lokasi_user
lokasi_user
‘nama_user’@’lokasi_user’;
adalah alamat IP dari user yang ingin diberikan hak akses.
dan
kepada seluruh user.
dapat dihilangkan jika ingin memberikan akses
Untuk melihat hak akses pada user yang telah diberikan hak akses dapat
menggunakan perintah
REVOKE : menghapus semua atau sebagian hak akses pengguna yang telah diberikan
dengan menggunakan perintah GRANT, penggunaannya pun sama dengan perintah
GRANT.
REVOKE hak_akses [daftar_kolom] ON nama_database.nama_tabel
Komentar
Posting Komentar