MySQL adalah open source, database object-relational yang dibangun dengan mempertimbangkan kecepatan dan keandalan. Komunitas pengembangnya yang besar dan aktif telah menciptakan banyak aplikasi, alat, dan pustaka pihak ketiga yang memperluas fungsionalitas MySQL
Hak istimewa yang diberikan kepada pengguna MySQL menentukan operasi apa yang dapat dilakukan pengguna. Hak istimewa MySQL diatur sesuai dengan itu
Hak istimewa administratif memungkinkan pengguna untuk mengelola operasi server MySQL itu sendiri, termasuk hak istimewa pengguna lain. Juga dikenal sebagai hak istimewa global
Hak istimewa basis data memungkinkan pengguna untuk mengelola basis data tertentu dan semua objek di dalam basis data itu. Ini dapat diberikan secara global atau hanya untuk database tertentu
Hak istimewa objek basis data memungkinkan pengguna untuk mengelola objek tertentu di dalam basis data. Hak istimewa ini dapat diberikan untuk objek tertentu dalam database, untuk seluruh database, atau secara global
Pembatasan Hak Istimewa pada Database Terkelola MySQL DigitalOcean
Secara default, cluster database MySQL dilengkapi dengan pengguna, doadmin, yang memiliki akses penuh ke setiap database yang Anda buat. Alih-alih menggunakan doadmin untuk mengakses database, sebaiknya buat pengguna tambahan yang hanya memiliki hak istimewa yang mereka perlukan, mengikuti prinsip hak istimewa terkecil
MySQL menetapkan hak istimewa berdasarkan nama akun, yang terdiri dari nama pengguna dan nama host dalam format GRANT ALL ON example_database.* TO 'example_user'@'%' WITH GRANT OPTION; 0. Anda dapat menentukan host dengan nama ( GRANT ALL ON example_database.* TO 'example_user'@'%' WITH GRANT OPTION; _1), alamat IP ( GRANT ALL ON example_database.* TO 'example_user'@'%' WITH GRANT OPTION; 2), atau menggunakan karakter wildcard ( GRANT ALL ON example_database.* TO 'example_user'@'%' WITH GRANT OPTION; 3, yang cocok dengan semua host). Pelajari lebih lanjut di dokumentasi MySQL tentang menentukan nama akun
Untuk memastikan stabilitas platform, DigitalOcean Managed MySQL Databases memiliki beberapa batasan default pada hak pengguna yang tidak dapat diubah. Pengguna tidak dapat memasukkan atau mengedit salah satu dari database berikut, tetapi dapat memilih dari mereka
- GRANT ALL ON example_database.* TO 'example_user'@'%' WITH GRANT OPTION; _4
- GRANT ALL ON example_database.* TO 'example_user'@'%' WITH GRANT OPTION; 5
- GRANT ALL ON example_database.* TO 'example_user'@'%' WITH GRANT OPTION; _6
- GRANT ALL ON example_database.* TO 'example_user'@'%' WITH GRANT OPTION; _7
Pengguna di DigitalOcean Managed MySQL Databases tidak dapat menyisipkan, mengedit, atau memilih dari database GRANT ALL ON example_database.* TO 'example_user'@'%' WITH GRANT OPTION; 8
Saat ini Anda tidak dapat mengubah hak istimewa pengguna di panel kontrol, jadi untuk melakukannya Anda perlu menggunakan klien MySQL baris perintah seperti GRANT ALL ON example_database.* TO 'example_user'@'%' WITH GRANT OPTION; 4. Setelah Anda membuat pengguna di kluster, sambungkan ke kluster sebagai doadmin atau pengguna admin lain. Dari sini, perintah yang perlu Anda jalankan bergantung pada izin yang Anda ingin pengguna miliki
Pemberian Keistimewaan
Untuk memberikan semua hak istimewa pada database tertentu kepada pengguna, Anda dapat menggunakan perintah berikut
GRANT ALL ON example_database.* TO 'example_user'@'%';Anda tidak dapat membuat pengguna admin tambahan. Namun, Anda dapat memberi pengguna akses penuh ke semua database yang Anda buat dengan menjalankan perintah GRANT SELECT ON example_database TO 'example_user'@'%'; 1 untuk setiap database
Untuk memberikan hak istimewa administratif kepada pengguna untuk database tertentu, Anda juga harus memberi mereka hak istimewa GRANT SELECT ON example_database TO 'example_user'@'%'; 2. Ini sebuah contoh
GRANT ALL ON example_database.* TO 'example_user'@'%' WITH GRANT OPTION;Untuk memberi pengguna hanya hak baca di database, Anda dapat menggunakan perintah berikut
Untuk memberikan hak istimewa pengguna hanya pada tabel tertentu dalam database, Anda dapat menggunakan perintah berikut
GRANT SELECT ON example_database TO 'example_user'@'%'; mysql> GRANT INSERT ON example_database.example_table TO 'example_user'@'%';Memberikan hak istimewa tambahan kepada pengguna tidak menghapus hak istimewa yang ada. Untuk , gunakan perintah GRANT SELECT ON example_database TO 'example_user'@'%'; _3
Mencabut Hak Istimewa
Mencabut hak istimewa sangat mirip dengan memberikannya. Untuk mencabut hak istimewa pengguna, gunakan sintaks perintah GRANT SELECT ON example_database TO 'example_user'@'%'; 4. Misalnya, untuk mencabut semua hak istimewa pada database tertentu, gunakan perintah berikut
REVOKE ALL ON example_database FROM 'example_user'@'%';Jika pengguna sudah memiliki hak istimewa dan Anda ingin mencabutnya tetapi masih mengizinkan pengguna untuk membaca database, Anda dapat menggunakan perintah berikut
REVOKE ALL ON example_database FROM 'example_user'@'%'; mysql> GRANT SELECT ON example_database TO 'example_user'@'%';Melihat Keistimewaan
Untuk melihat hak istimewa bagi pengguna saat ini, Anda dapat menggunakan perintah GRANT SELECT ON example_database TO 'example_user'@'%'; 5, dan akan melihat keluaran yang mirip dengan berikut ini, yang menunjukkan hibah default untuk pengguna doadmin