Rumah > pangkalan data > tutorial mysql > Apakah kebenaran yang ada dalam mysql

Apakah kebenaran yang ada dalam mysql

WBOY
Lepaskan: 2022-05-16 15:28:27
asal
7867 orang telah melayarinya

Keizinan Mysql: 1. Keizinan global, terpakai untuk semua pangkalan data dalam pelayan, disimpan dalam "mysql.user"; 2. Kebenaran pangkalan data, terpakai untuk semua sasaran dalam pangkalan data, disimpan dalam "mysql. db" dan "mysql.host"; 3. Keizinan jadual, terpakai untuk semua lajur dalam jadual 4. Keizinan lajur, dsb.

Apakah kebenaran yang ada dalam mysql

Persekitaran pengendalian tutorial ini: sistem Windows 10, versi mysql8.0.22, komputer Dell G3.

Apakah kebenaran yang terdapat dalam mysql?

Klasifikasi khusus kebenaran

1 Peringkat global

Kebenaran global dikenakan kepada a pelayan yang diberikan semua pangkalan data dalam . Kebenaran ini disimpan dalam jadual mysql.user. BERIKAN SEMUA PADA *.* dan BATALKAN SEMUA PADA *.* hanya berikan dan batalkan kebenaran global.

2. Tahap pangkalan data

Kebenaran pangkalan data digunakan untuk semua sasaran dalam pangkalan data yang diberikan. Kebenaran ini disimpan dalam jadual mysql.db dan mysql.host. BERIKAN SEMUA PADA db_name.* dan BATALKAN SEMUA PADA db_name.* hanya berikan dan batalkan kebenaran pangkalan data.

3. Tahap jadual

Kebenaran jadual digunakan pada semua lajur dalam jadual tertentu. Kebenaran ini disimpan dalam jadual mysql.tables_priv. BERIKAN SEMUA PADA db_name.tbl_name dan BATALKAN SEMUA PADA db_name.tbl_name sahaja berikan dan batalkan kebenaran jadual.

4. Tahap lajur

Kebenaran lajur digunakan pada satu lajur dalam jadual tertentu. Kebenaran ini disimpan dalam jadual mysql.columns_priv. Apabila menggunakan REVOKE, anda mesti menentukan lajur yang sama seperti lajur yang dibenarkan.

5. Tahap subprogram

BUAT RUTIN, UBAH RUTIN, LAKSANAKAN dan BERI kebenaran dikenakan pada subprogram yang disimpan. Kebenaran ini boleh diberikan pada peringkat global dan peringkat pangkalan data. Selain itu, sebagai tambahan kepada CREATE ROUTINE, kebenaran ini boleh diberikan pada peringkat subrutin dan disimpan dalam jadual mysql.procs_priv

Pengetahuan tambahan:

1 , Ujian peringkat global

Buat ujian akaun ujian dan berikan kebenaran peringkat global. Seperti yang ditunjukkan di bawah:

mysql> set global validate_password_policy=0;
mysql> grant select,insert on *.* to test@'%' identified by 'test';
mysql> flush privileges;
Salin selepas log masuk

Apakah kebenaran yang ada dalam mysql

Gunakan dua kaedah berikut untuk menanyakan kebenaran yang diberikan untuk menguji. Seperti yang ditunjukkan di bawah:

mysql> show grants for test;
mysql> select * from mysql.user where user='test'G;
Salin selepas log masuk

Apakah kebenaran yang ada dalam mysql

2. Ujian peringkat pangkalan data

Buat ujian akaun ujian dan berikan kebenaran peringkat pangkalan data. Seperti yang ditunjukkan di bawah:

mysql> drop user test;
mysql> grant select,insert,update,delete on jpcpdb.* to test@'%' identified by 'test@123';
mysql> select * from mysql.user where user='test'G; --可以看到无任何授权。
mysql> show grants for test;
mysql> select * from mysql.db where user='test'G;
Salin selepas log masuk

Apakah kebenaran yang ada dalam mysql

Apakah kebenaran yang ada dalam mysql

3 Ujian tahap jadual

Buat ujian akaun ujian dan berikan tahap keizinan jadual. Seperti yang ditunjukkan di bawah:

mysql> drop user test;
mysql> flush privileges;
mysql> grant all on jpcpdb.user to test@'%' identified by 'test@123';
mysql> show grants for test;
mysql> select * from mysql.tables_privG;
Salin selepas log masuk

Apakah kebenaran yang ada dalam mysql

4. Ujian tahap lajur

Buat ujian akaun ujian dan berikan kebenaran peringkat lajur. Seperti yang ditunjukkan di bawah:

mysql> drop user test;
mysql> flush privileges;
mysql> grant select (id, name) on jpcpdb.user to test@'%' identified by 'test@123';
mysql> flush privileges;
mysql> select * from mysql.columns_priv;
mysql> show grants for test;
Salin selepas log masuk

Apakah kebenaran yang ada dalam mysql

5. Ujian peringkat subprogram

Buat ujian akaun ujian dan berikan kebenaran peringkat subprogram. Seperti yang ditunjukkan di bawah:

mysql> DROP PROCEDURE IF EXISTS PRC_TEST;
mysql> DELIMITER //
mysql> CREATE PROCEDURE PRC_TEST()
-> BEGIN
-> SELECT * FROM user;
-> END //
mysql> DELIMITER ;
mysql> grant execute on procedure jpcpdb.PRC_TEST to test@'%' identified by 'test@123';
mysql> flush privileges;
mysql> show grants for test;
Salin selepas log masuk

mysql> pilih * dari mysql.procs_priv di mana User='test';Apakah kebenaran yang ada dalam mysql

Ringkasan

Jika anda perlu melihat pengguna diberikan Untuk kebenaran, anda perlu melihat kebenaran yang diberikan daripada lima peringkat ini. Semak kebenaran yang diberikan pada setiap peringkat satu demi satu dari atas ke bawah atau dari kecil ke atas.

Pangkalan data ialah sistem pemprosesan data umum untuk unit atau medan aplikasi Ia menyimpan koleksi data yang berkaitan milik syarikat dan jabatan perniagaan, kumpulan dan individu. Data dalam pangkalan data ditubuhkan dari perspektif global dan disusun, diterangkan dan disimpan mengikut model data tertentu. Strukturnya adalah berdasarkan sambungan semula jadi antara data, yang boleh menyediakan semua laluan akses yang diperlukan, dan data tidak lagi disasarkan pada aplikasi tertentu, tetapi berorientasikan kepada keseluruhan organisasi dan mempunyai ciri struktur keseluruhan.

Pembelajaran yang disyorkan: tutorial video mysql

Atas ialah kandungan terperinci Apakah kebenaran yang ada dalam mysql. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan