Apa semua hak istimewa di mysql?

Halo Saya menggunakan kode ini untuk memiliki pengguna super di mysql

GRANT EXECUTE, PROCESS, SELECT, SHOW DATABASES, SHOW VIEW, ALTER, ALTER ROUTINE,
    CREATE, CREATE ROUTINE, CREATE TEMPORARY TABLES, CREATE VIEW, DELETE, DROP,
    EVENT, INDEX, INSERT, REFERENCES, TRIGGER, UPDATE, CREATE USER, FILE,
    LOCK TABLES, RELOAD, REPLICATION CLIENT, REPLICATION SLAVE, SHUTDOWN,
    SUPER
        ON *.* TO mysql@'%'
    WITH GRANT OPTION;

kemudian

FLUSH PRIVILEGES;
_

Semua perintah dijalankan di dalam shell MySQL sebagai root atau pengguna administratif. Hak istimewa minimum yang diperlukan untuk membuat akun pengguna dan menentukan hak istimewanya adalah

sudo mysql
4 dan
sudo mysql
5

Untuk mengakses shell MySQL ketik perintah berikut dan masukkan kata sandi pengguna root MySQL Anda saat diminta

mysql -u root -p
_

Jika Anda memiliki MySQL versi 5. 7 atau lebih baru yang menggunakan login plugin

sudo mysql
_6 sebagai root dengan mengetik

sudo mysql

Buat Akun Pengguna MySQL baru

Akun pengguna di MySQL terdiri dari dua bagian. nama pengguna dan nama host

Untuk membuat akun pengguna MySQL baru, jalankan perintah berikut

CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'user_password';

Ganti

sudo mysql
_7 dengan nama pengguna baru, dan
sudo mysql
8 dengan kata sandi pengguna

Pada contoh di atas, bagian hostname diatur ke

sudo mysql
9, yang berarti bahwa pengguna akan dapat terhubung ke server MySQL hanya dari localhost (i. e. dari sistem tempat MySQL Server berjalan)

Untuk memberikan akses dari host lain, ubah bagian nama host dengan IP mesin jarak jauh. Misalnya, untuk memberikan akses dari mesin dengan IP

CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'user_password';
0 Anda akan menjalankan

CREATE USER 'newuser'@'10.8.0.5' IDENTIFIED BY 'user_password';

Untuk membuat pengguna yang dapat terhubung dari host mana pun, gunakan wildcard

CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'user_password';
1 sebagai bagian host

CREATE USER 'newuser'@'%' IDENTIFIED BY 'user_password';

Berikan Hak Istimewa ke Akun Pengguna MySQL

Ada beberapa jenis hak istimewa yang dapat diberikan ke akun pengguna. Anda dapat menemukan daftar lengkap hak istimewa yang didukung oleh MySQL di sini

Hak istimewa yang paling umum digunakan adalah

  • CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'user_password';
    2 – Memberikan semua hak istimewa ke akun pengguna
  • CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'user_password';
    3 – Akun pengguna diizinkan untuk membuat database dan tabel
  • CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'user_password';
    4 - Akun pengguna diizinkan untuk menjatuhkan database dan tabel
  • CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'user_password';
    5 - Akun pengguna diizinkan untuk menghapus baris dari tabel tertentu
  • CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'user_password';
    6 - Akun pengguna diizinkan untuk memasukkan baris ke dalam tabel tertentu
  • CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'user_password';
    7 – Akun pengguna diizinkan untuk membaca database
  • CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'user_password';
    8 - Akun pengguna diizinkan untuk memperbarui baris tabel

Untuk memberikan hak khusus ke akun pengguna, gunakan sintaks berikut

GRANT permission1, permission2 ON database_name.table_name TO 'database_user'@'localhost';

Berikut beberapa contohnya

  • Berikan semua hak istimewa ke akun pengguna melalui database tertentu

    GRANT ALL PRIVILEGES ON database_name.* TO 'database_user'@'localhost';
  • Berikan semua hak istimewa ke akun pengguna di semua basis data

    GRANT ALL PRIVILEGES ON *.* TO 'database_user'@'localhost';
  • Berikan semua hak istimewa ke akun pengguna melalui tabel tertentu dari database

    GRANT ALL PRIVILEGES ON database_name.table_name TO 'database_user'@'localhost';
  • Berikan beberapa hak istimewa ke akun pengguna melalui database tertentu

    GRANT SELECT, INSERT, DELETE ON database_name.* TO database_user@'localhost';

Menampilkan Keistimewaan Akun Pengguna MySQL

Untuk menemukan hak istimewa yang diberikan ke akun pengguna MySQL tertentu, gunakan pernyataan

CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'user_password';
9

sudo mysql
0

Outputnya akan terlihat seperti di bawah ini

sudo mysql
1

Cabut Hak Istimewa dari Akun Pengguna MySQL

Sintaks untuk mencabut satu atau lebih hak istimewa dari akun pengguna hampir sama dengan saat memberikan hak istimewa

Apa hak istimewa dalam SQL?

Hak istimewa adalah hak untuk mengeksekusi tipe pernyataan SQL tertentu atau untuk mengakses objek pengguna lain. .
Hubungkan ke database (buat sesi)
Buat tabel
Pilih baris dari tabel pengguna lain
Jalankan prosedur tersimpan pengguna lain

Bagaimana saya bisa melihat semua 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 ' ; .

Berapa banyak jenis hak istimewa yang tersedia di SQL?

Ada berbagai jenis hak istimewa. SELECT , INSERT , UPDATE , DELETE , TRUNCATE , REFERENCES , TRIGGER , CREATE , CONNECT , TEMPORARY , EXECUTE , USAGE , SET dan ALTER SYSTEM . Hak istimewa yang berlaku untuk objek tertentu bervariasi tergantung pada jenis objek (tabel, fungsi, dll. ).

Manakah dari berikut ini yang merupakan tingkat hak istimewa di MySQL?

Tingkat hak istimewa di MySQL . global, database, table, column, stored procedure or function, dan proxy , seperti yang ditunjukkan pada gambar di bawah ini.