[Tips] Mengatur Grant User MySQL

Jika kita adalah seorang system administrator, atau network engineer, atau software engineer, maka kita akan sering berhadapan dengan proses administrasi installasi database server, misal : Installasi MySQL. Proses installasi MySQL memiliki beberapa tahap. Setelah melakukan installasi software MySQL Server, akan dilanjutkan installasi database mysql itu sendiri. Selanjutnya pekerjaan penting seorang system administrator adalah mengatur Grant atau hak akses masing-masing user.

Pengaturan hak akses itu sendiri dilakukan di dalam prompt MySQL dengan mode “root”. Pengaturan hak akses dapat dilakukan dengan melakukan perintah utama mysql : GRANT. Untuk user root, akan selalu memiliki hak akses terhadap apapun, termasuk membuat GRANT. Contoh membuat grant adalah:

 

GRANT ALL PRIVILEGE ON `namadatabase`.* to 'namauser'@'host' identified by 'password';

Artinya adalah bahwa dibuat grant baru yang memberikan segala hak kepada ‘namauser’ yang login di ‘host’ dengan password ‘password’. Grant yang diberikan termasuk MEMBUAT, dan MENGHAPUS. Untuk memberikan grant sebagian dapat diberikan perintah seperti berikut :

GRANT SELECT on `namadatabase`.`satu` to namauser@localhost identified by 'pass1';

Yang artinya adalah user ‘namauser’ yang hanya boleh login dari localhost dengan password = pass1 hanya boleh melakukan SELECT terhadap tabel ‘satu’ dalam database ‘namadatabase’

Kadang terdapat kebutuhan agar seorang user dapat membuat database dan menghapus database tertentu. Maka kita dapat membuat grant seperti demikian :

use mysql;
GRANT ALL PRIVILEGES on `bimo_%`.* to bimo@'%' identified by 'bimpass';

Artinya adalah saya membuat grant untuk user ‘bimo’ agar dapat membuat segala database selama diawali dengan prefix “bimo_” dan dilakukan dengan login password ‘bimpass’

Jangan lupa seteah melakukan granting, lakukanlah perintah :

flush privileges;

agar aturan granting yang baru segera dapat diberlakukan..

Semoga berguna