Memberikan izin kepada suatu akun.
GRANT
priv_type [(column_list)]
[, priv_type [(column_list)]] ...
ON priv_level
TO user [auth_option]
[WITH {GRANT OPTION}]Parameter wajib
| Parameter | Deskripsi |
|---|---|
priv_type | Jenis izin yang diberikan. Untuk daftar lengkap jenis izin yang didukung, lihat Permission model. |
priv_level | Cakupan penerapan izin tersebut. Nilai yang valid: *.* (tingkat kluster), db_name.* (tingkat database), db_name.table_name atau table_name (tingkat tabel). |
Parameter opsional
| Parameter | Deskripsi |
|---|---|
column_list | Daftar nama kolom. Hanya berlaku ketika priv_type bernilai SELECT. Membatasi izin SELECT hanya pada kolom yang ditentukan. |
WITH GRANT OPTION | Mengizinkan penerima untuk memberikan izin yang sama kepada akun lain. |
Catatan penggunaan
Untuk memberikan izin kepada akun lain, akun yang menjalankan pernyataan GRANT harus memiliki izin GRANT OPTION.
Contoh
Berikan izin tingkat kluster
Berikan izin all tingkat kluster kepada account2:
GRANT all ON *.* TO 'account2';account2 kini memiliki izin penuh di seluruh kluster.
Berikan izin manipulasi data tingkat kluster kepada akun baru:
GRANT insert,select,update,delete on *.* to 'test'@'%' identified by 'Testpassword1';Ini membuat akun test dan memberikan izin INSERT, SELECT, UPDATE, dan DELETE pada tingkat kluster.
Berikan izin tingkat database
Berikan izin all tingkat database kepada account3:
GRANT all ON adb_demo.* TO 'account3';account3 kini memiliki izin penuh pada database adb_demo.
Berikan izin manipulasi data tingkat database kepada akun baru:
GRANT insert,select,update,delete on adb_demo.* to 'test123' identified by 'Testpassword123';Ini membuat akun test123 dan memberikan izin INSERT, SELECT, UPDATE, dan DELETE pada adb_demo.
Berikan izin tingkat kolom
Berikan izin SELECT pada kolom tertentu kepada akun baru:
GRANT select (customer_id, sex) ON customer TO 'test321' identified by 'Testpassword321';Ini membuat akun test321 dan membatasi akses SELECT-nya hanya pada kolom customer_id dan sex dari tabel customer.