Tuesday, May 28, 2013

Mencabut Hak Akses

Pada postingan sebelumnya kita telah membicarakan pemberian hak akses, dimana perintah untuk memberikan hak akses tersebut adalah dengan menuliskan perintah GRANT. Contoh sintaknya adalah sebagai berikut :

GRANT ALL
ON BARANG.*
IDENTIFIED BY '1a2b3c4d';

Nah, inilah contoh pemberian hak akses penuh kepada user. Untuk lebih jelasnya Anda bisa membaca postingan sebelumnya yang membicarakan pemberian hak akses kepada user, karena kali ini kita akan membicaraka pencabutan hak akses. Hak akses yang telah diberikan kepada user dapat dicabut kembali oleh administrator.

Untuk mencabut atau menarik kembali hak akses yang sudah diberikan kepada seorang user, kita perlu menggunakan perintah REVOKE. Sintaks umum penggunaan perintah tersebut adalah :

REVOKE <hak akses>
ON {<nama tabel> | * | *.* | <nama database>.*}
FROM <nama user>

Contoh
REVOKE USAGE, INSERT, UPDATE, DELETE, SELECT
ON BARANG
FROM sutopo;

Penggunaan revoke pada contoh di atas berguna untuk mencabut hak akses USAGE, INSERT, DELETE, DAN UPDATE pada tabel barang dari user sutopo.

Adapun pencabutan seluruh hak akses adalah dengan sintak Revoke All seperti contoh berikut ini :

REVOKE ALL ON STOK_BARANG.* FROM sutopo

Dengan perintah seperti di atas maka semua hak akses pada databases STOK_BARANG akan dicabut semua.

Menghapus Nama User

Untuk menghapus akun user dari suatu database, gunakan perintah DROP USER. Bentuk umum penggunaan perintah DROP USER adalah sebagai berikut:

DROP USER <nama user> [,<nama user2>] …
Contoh:
DROP USER 'sutopo'@'localhost';
Perintah tersebut akan menghapus user dengan nama raharjo.

Mengetahui Tabel Hak Akses dalam MySQL
Ketika kita melakukan pemberian dan pencabutan hak akses menggunakan perintah GRANT DAN REVOKE kepada seorang user tertenu, MySQL akan menyimpan informasi tentang hak akses user tersebut ke dalam database MySQL. Dengan demikian, sebenarnya kita bisa saja memberi atau mencabut hak akses ke/dari seorang user dengan cara memanipulasi data yang terdapat di dalam database mysql secara langsung, tidak perlu menggunakan perintah GRANT DAN REVOKE.

Jika Anda ingin memodifikasi data secara langsung, Anda perlu mengeksekusi perintah berikut:

FLUSH PRIVILEGES;

Perintah tersebut berguna untuk me-refersh perubahan yang telah Anda lakukan ke dalam database MySQL.

Berikut ini beberapa tabel dalam database MySQL yang perlu Anda ketahui kaitannya dengan proses pemberian dan pencabutan hak akses user.

User, berfungsi untuk menyimpan informasi global tentang user dan hak akses yang dimilikinya.

Db, berfungsi untuk menyimpan informasi hak akses yang berkaitan dengan database untuk user tertentu.

tables_priv, berfungsi untuk menyimpan informasi hak akses yang berkaitan dengan tabel untuk user tertentu.

columns_priv, berfungsi untuk menyimpan informasi hak akses yang berkaitan dengan kolom untuk user tertentu.

No comments:

Post a Comment