Bagaimana cara membatasi pengguna di mysql?

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

    
        
            
GRANT SELECT ON example_database TO 'example_user'@'%';

        
    

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

Bagaimana cara mengubah izin pengguna di MySQL?

Cabut izin dari akun pengguna MySQL . Misalnya, jika Anda ingin mencabut hak istimewa `SELECT` dan `INSERT` dari pengguna lokal di database `strongdm`, ketik perintah berikut. mysql> REVOKE SELECT, INSERT ON strongdm. use the REVOKE command, which uses a syntax similar to the GRANT command. For example, if you wanted to revoke `SELECT` and `INSERT` privileges from a local user on the `strongdm` database, type the following: mysql> REVOKE SELECT, INSERT ON strongdm.

Bagaimana cara memberi pengguna MySQL akses hanya baca?

Perintah ini memberi pengguna akses hanya-baca ke database dari host lokal saja. Jika Anda mengetahui nama host atau alamat IP dari host tempat kolektor akan diinstal, ketikkan perintah berikut. berikan pilihan pada nama_database. * ke 'read-only_user_name'@'host_name atau IP_address' diidentifikasi dengan 'password';

Bagaimana cara mengelola pengguna di MySQL?

Cara Mengelola Database dan Pengguna MySQL dari Baris Perintah .
Sebelum kamu memulai
Buat database MySQL baru
Daftar semua database MySQL
Hapus database MySQL
Buat akun pengguna MySQL baru
Ubah kata sandi akun pengguna MySQL
Daftar semua akun pengguna MySQL
Hapus akun pengguna MySQL

Bagaimana cara menunjukkan hak pengguna di MySQL?

Jika akun pengguna yang Anda masuki memiliki hak istimewa SELECT di database mysql internal, Anda dapat melihat hak istimewa yang diberikan ke akun pengguna lain. Untuk menampilkan hak istimewa akun lain, gunakan format berikut. TAMPILKAN HIBAH UNTUK ' ; .