Keistimewaan MySQL dikategorikan kepada beberapa jenis, masing -masing mengawal tahap akses dan operasi yang berlainan dalam sistem pangkalan data. Jenis keistimewaan ini adalah seperti berikut:
ALL PRIVILEGES
, CREATE USER
, dan RELOAD
. Keistimewaan global membolehkan pengguna melakukan operasi di seluruh pelayan.CREATE
, DROP
, dan ALTER
. Keistimewaan ini membolehkan pengguna menguruskan pangkalan data tertentu.SELECT
, INSERT
, UPDATE
, dan DELETE
. Pengguna dengan keistimewaan jadual boleh memanipulasi data dalam jadual tertentu.SELECT
, INSERT
, dan UPDATE
boleh digunakan pada tahap ini, yang membolehkan kawalan akses halus.CREATE ROUTINE
, ALTER ROUTINE
, dan EXECUTE
membolehkan pengguna membuat, mengubah suai, dan melaksanakan rutin ini.Memahami pelbagai jenis keistimewaan membantu dalam menubuhkan sistem kawalan akses yang selamat dan cekap dalam MySQL.
Memberi keistimewaan dan membatalkan keistimewaan dalam MySQL dilakukan melalui perintah SQL. Berikut adalah cara anda dapat menguruskan keistimewaan ini:
Untuk memberikan keistimewaan:
Kenyataan GRANT
digunakan untuk memberikan keistimewaan kepada pengguna. Sintaks adalah seperti berikut:
<code class="sql">GRANT privilege_type [(column_list)] ON [object_type] db_name.tbl_name TO user_name [IDENTIFIED BY 'password'] [WITH GRANT OPTION];</code>
privilege_type
: Jenis keistimewaan yang anda ingin berikan (misalnya, SELECT
, INSERT
, UPDATE
, dll.).column_list
: Pilihan. Jika anda memberikan keistimewaan pada lajur tertentu.object_type
: Pilihan. Menentukan jenis objek (misalnya, TABLE
, FUNCTION
, dan lain -lain).db_name.tbl_name
: Pangkalan data dan jadual yang mana keistimewaannya terpakai.user_name
: Nama pengguna yang mana keistimewaan diberikan.IDENTIFIED BY 'password'
: Pilihan. Menetapkan atau mengubah kata laluan pengguna.WITH GRANT OPTION
: Pilihan. Membolehkan pengguna memberikan keistimewaan yang sama kepada pengguna lain.Contoh:
<code class="sql">GRANT SELECT, INSERT ON mydatabase.mytable TO 'username'@'localhost';</code>
Untuk membatalkan keistimewaan:
Kenyataan REVOKE
digunakan untuk menghapuskan keistimewaan dari pengguna. Sintaks adalah seperti berikut:
<code class="sql">REVOKE privilege_type [(column_list)] ON [object_type] db_name.tbl_name FROM user_name;</code>
GRANT
.Contoh:
<code class="sql">REVOKE INSERT ON mydatabase.mytable FROM 'username'@'localhost';</code>
Dengan menggunakan arahan ini, anda boleh mengurus kebenaran pengguna dengan berkesan dalam pangkalan data MySQL anda.
Menguruskan keistimewaan MySQL dengan selamat adalah penting untuk mengelakkan akses yang tidak dibenarkan dan melindungi data anda. Berikut adalah beberapa amalan terbaik untuk diikuti:
SHOW GRANTS FOR 'username';
Untuk mengkaji keistimewaan.mysql_secure_installation
untuk menubuhkan langkah keselamatan awal.root
). Gunakannya hanya apabila perlu dan dari lokasi yang dipercayai.Dengan mengikuti amalan terbaik ini, anda dapat meningkatkan keselamatan persekitaran MySQL anda dan melindungi data anda.
Menetapkan terlalu banyak keistimewaan kepada pengguna MySQL boleh mempunyai beberapa implikasi yang serius:
Untuk mengurangkan risiko ini, penting untuk mengikuti prinsip keistimewaan yang paling sedikit, keizinan pengguna yang sering mengaudit, dan memastikan akses itu sejajar dengan keperluan perniagaan dan dasar keselamatan.
Atas ialah kandungan terperinci Apakah jenis keistimewaan yang berlainan dalam MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!