info-b

Tutorial Belajar MySQL Part 33: Cara Melihat Daftar User MySQL dan Hak Aksesnya (SHOW GRANTS FOR)

Posted on

Di panduan MySQL kali ini kita akan membahas mengenai cara melihat siapa saja user yang terdaftar dalam MySQL, dan melihat hak akses apa saja yang diberikan kepada user tersebut menggunakan query SHOW GRANTS FOR.

Di artikel sebelumnya, kita telah belajar cara membuat user MySQL dan hak akses user MySQL. Bagi program yang besar, pemantauan dan managemen user akan amat diperlukan. Selain bagi kenyamanan pengguna, hal ini pun berkaitan erat dengan keamanan Server MySQL. Misalnya, bagi user yang tak aktif lagi sebaiknya dihapus dari program, karena dapat saja disalahgunakan oleh orang lain.


Cara Melihat Daftar User MySQL

Bagi melihat user yang terdaftar di pada MySQL Server, kita dapat mengaksesnya dengan melihat tabel user yang terdapat di pada database mysql.

Database mysql digunakan secara internal bagi managemen meta data MySQL (metadata ialah data mengenai program mysql itu sendiri) dimana salah satunya ialah tabel user MySQL. Karena pentingnya database ini, biasanya hanya user root yang mempunyai hak akses penuh bagi database mysql.

Database mysql terdiri dari banyak tabel, namun bagi kebutuhan user, kita hanya akan menggunakan tabel user. Berikut query bagi melihat seluruh user yang terdaftar pada MySQL:

Dari query SELECT diatas, kita dapat melihat user apa saja dan di domisili mana saja yang terdaftar.

Bila sahabat mengikuti panduan MySQL bagi membangun user pada duniailkom ini, didalam MySQL Server akan terdapat beberapa user, berikut ialah contoh petunjuk melihat user di MySQL:

Dari petunjuk diatas, pertama-tama kali saya login selaku root, lalu menggunakan database mysql, dan terakhir menjalankan query SELECT user,host FROM mysql.user bagi melihat daftar user yang terdapat di pada MySQL. Secara total terdapat 9 user yang adalah user yang saya bikin di penjelasan panduan sebelum ini. Bila sahabat perhatikan terdapat pun user root di pada daftar tersebut.


Cara Melihat Hak Akses User MySQL (SHOW GRANTS FOR)

Setelah memperoleh daftar user MySQL, pastinya kita ingin melihat apa saja hak akses yang dimiliki oleh masing-masing user tersebut. Bagi melihat hak aksesnya, MySQL menyediakan query SHOW GRANTS FOR.

Perhatikan bahwa MySQL menggunakan kata wujud jamak GRANTS (bukan GRANT) dan seandainya sahabat lupa menambahkan ‘S’ kepada GRANTS, MySQL akan menghasilkan error.

Format mendasar query SHOW GRANTS FOR ialah selaku berikut:

  • nama_user ialah nama dari user yang akan diquery.
  • lokasi_user ialah domisili IP dari user nama_user, dapat berupa: localhost, 192.168.0.5, atau ‘%’.

Selaku contoh, kita akan melihat hak akses bagi user admin_kampus dengan query berikut:

Saya menambahkan petunjuk G selaku pengganti titik koma (;) diakhir query agar hasil tampilan tak pada wujud tabel, tetapi ditampilakan per baris kebawah (pernah kita bahas di panduan Dasar Penulisan Query MySQL), hal ini karena hasil query SHOW GRANTS FOR dapat menjadi amat panjang sehingga susah membacanya seandainya pada wujud tabel (silahkan mencoba query tersebut tanpa format G bagi melihat perbedaan yang saya maksud, ganti G menjadi titik koma ‘;’).

Hasil query SHOW GRANTS FOR diatas terdiri dari 2 baris, baris pertama-tama berisi:

Barisi ini lebih kepada penjelasan bahwa user admin_kampus berada di lokasi ‘%’ dan mempunyai password. Password yang tertera di sini ialah hasil manfaat hashing yang digunakan secara internal oleh MySQL bagi menyimpan password. Saya akan membangun artikel tersendiri bagi menjelaskan bagaimana password bagi user disimpan dan diproses oleh MySQL. Bagi ketika ini kita sepakati saja bahwa MySQL tak menyimpan password pada wujud aslinya.

Baris kedua berisi :

Inilah hasil query yang menjelaskan hak akses apa saja yang dimiliki oleh user admin_kampus. Terlihat bahwa user admin_kampus mempunyai hak akses CREATE, DROP, dan ALTER bagi seluruh tabel pada database universitas.

Query SHOW GRANTS FOR akan meminta masukan domisili lokasi user seandainya domisili user ters
ebut tak didefenisikan selaku ‘%’, berikut contoh yang saya maksud:

Terlihat bahwa MySQL mengeluarkan pesan error di ketika petunjuk SHOW GRANTS FOR ‘dosen_ilkom’ dijalankan, karena secara default MySQL akan mengeksekusi SHOW GRANTS FOR ‘dosen_ilkom’@’%’, padahal user dosen_ilkom berada di localhost, bukan di ‘%‘ (perhatikan hasil tabel user yang menjelaskan dosen_ilkom berada di localhost).

Sehingga ketika saya menggantinya menjadi SHOW GRANTS FOR ‘dosen_ilkom’@’localhost’, MySQL sukses menjalankan query tersebut.


Pada panduan kali ini kita telah membahas query SHOW GRANTS FOR bagi melihat hak akses sebuah user. Bila sahabat ingin menghapus beberapa user diatas, dapat menggunakan petunjuk DROP USER, seperti yang telah kita bahas di panduan Cara Membuat dan Menghapus User MySQL.

Sedangkan seandainya sahabat ingin mencabut hak akses user yang terdapat tanpa menghapus user tersebut, dapat menggunakan query REVOKE yang akan kita bahas di panduan berikutnya, Cara menghapus hak akses user MySQL menggunakan query REVOKE.


Sumber https://www.duniailkom.com/