DCL
/ 3 Comments on Belajar MySQL Dasar : Memahami perintah DCL
Data Control Language (DCL) adalah perintah SQL untuk kontrol dan permission database
#1 Perintah GRANT
Tidak harus setiap pengguna database dapat mengakses seluruh data di database. Ada pengguna
yang hanya dapat melakukan operasi di satu table saja. Bisa juga pengguna hanya dapat
melakukan operasi SELECT saja tanpa bisa melakukan manipulasi data
Sebelum kita menggunakan perintah GRANT terlebih dulu kita akan buat user di database
dengan perintah
Note : untuk membuat user baru anda harus masuk sebagai root. Pahami cara masuk
MySQL/MariaDB melalui terminal / command prompt menggunakan user root di Tutorial
MySQL untuk pemula
$ ./mysql -u ngodingdata -p
Enter password:
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 209
Server version: 10.1.38-MariaDB Source distribution
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input
statement.
MariaDB [(none)]>
Saat akan melihat list database, user ngodingdata tidak dapat melihat keseluruhan data (berbeda
jika melihat database dengan akses root)
ERROR 1044 (42000): Access denied for user 'ngodingdata'@'localhost' to database 'universitas'
Hal ini dikarenakan user ngodingdata tidak punya privilege terhadap database.
Mari kita beri akses dengan perintah GRANT melalui akses root dengan perintah
Coba masuk kembali dengan user ngodingdata dan buatlah database / table baru maka tidak
akan bermasalah lagi
Masuk ke user root dan berikan hak akses SELECT saja untuk user ngodingdata
Masuk ke user ngodingdata dan coba lakukan operasi SELECT dan INSERT
Jika misalkan user hanya dibolehkan untuk melakukan perintah DML dan DQL tanpa akses
merubah struktur table / database maka
#2 Perintah REVOKE
Perintah REVOKE digunakan untuk mencabut kembali hak akses yang diberikan melalui
perintah GRANT
Cara menggunakannya
Jika kita ingin menghapus akses INSERT di user ngodingdata untuk semua database dan table
melalui root
Database changed
Untuk mencabut seluruh hak akses user dapat menggunakan REVOKE ALL