Berikut langkah-langkah untuk membuat akun user baru di MySQL:
Buka baris perintah dan tambahkan server MySQL:
mysql
Script akan menampilkan notifikasi di bawah ini sebagai tanda bahwa Anda sedang mengakses server MySQL.
mysql>
Jalankan perintah di bawah ini:
CREATE USER 'new_user'@'localhost' IDENTIFIED BY 'password';
new_user adalah nama yang diberikan untuk akun user baru dan IDENTIFIED BY ‘password’ merupakan passcode atau kata sandi untuk user tersebut. Kedua value ini dapat diganti. Cukup tambahkan value yang sudah Anda buat ke dalam tanda kutip.
Jalankan perintah ini untuk memberikan semua akses database kepada user baru:
GRANT ALL PRIVILEGES ON * . * TO 'new_user'@'localhost';
Flush hak akses yang diberikan dengan mengaktifkan perintah ini:
FLUSH PRIVILEGES;
Kini user baru punya hak akses yang sama seperti yang dimiliki root user.
Cara Membuat Hak Akses Tertentu untuk User MySQL
Pada saat membuat nama database dan nama tabel, pisahkan kedua nama tersebut dengan tanda titik (.) dan tidak perlu ditambahkan spasi. Dengan demikian, root user akan memperoleh fine-grain control terhadap data tertentu.
Ganti value PERMISSION_TYPE dengan tipe akses yang ingin Anda berikan ke akun user baru.
Berikut perintah yang paling sering digunakan di MySQL:
CREATE – memperbolehkan user untuk membuat database atau tabel.
SELECT – memperbolehkan user untuk mengambil data.
INSERT – memperbolehkan user untuk memodifikasi entri yang ada di tabel.
DELETE – memperbolehkan user untuk menghapus entri tabel.
DROP – memperbolehkan user untuk menghapus semua tabel database.
Catatan: Jika permission type diganti dengan ALL PRIVILEGES, semua perintah yang disebutkan di atas akan diaktifkan.
Ganti PERMISSION_TYPE dengan tipe perintah yang Anda pilih. Apabila Anda ingin mengaktifkan banyak perintah, pisahkan setiap perintah dengan tanda koma. Sebagai contoh, kami akan memberikan hak akses CREATE dan SELECT ke akun non-root user MySQL dengan menjalankan perintah ini:
GRANT CREATE, SELECT ON * . * TO 'user_name'@'localhost';
Gunakan perintah di bawah ini jika Anda ingin menghapus (revoke) hak akses yang telah diberikan:
REVOKE PERMISSION_TYPE ON database_name.table_name FROM ‘user_name’@‘localhost’;
Misalnya, Anda hendak menarik kembali semua hak akses yang telah dihibahkan ke non-root user. Maka perintah yang sebaiknya digunakan adalah:
REVOKE ALL PRIVILEGES ON * . * FROM 'user_name'@'localhost';
Jalankan perintah ini bila Anda ingin menghapus akun user sepenuhnya:
DROP USER ‘user_name’@‘localhost’;
Catatan: Untuk menjalankan perintah di atas, pastikan Anda sudah punya akses root terlebih dulu. Setelah melakukan perubahan, segera jalankan FLUSH PRIVILEGES.
Menampilkan Tipe Hak Akses yang Telah Diberikan Kepada User MySQL
Untuk mengecek kembali hak akses apa saja yang sudah dibagikan ke user MySQL, gunakan perintah SHOW GRANTS:
SHOW GRANTS FOR 'user_name'@'localhost';
Hasilnya akan seperti ini:
0 Comments