Rumah > pangkalan data > tutorial mysql > Bagaimanakah saya memberikan dan membatalkan keistimewaan kepada pengguna MySQL?

Bagaimanakah saya memberikan dan membatalkan keistimewaan kepada pengguna MySQL?

百草
Lepaskan: 2025-03-14 18:42:53
asal
873 orang telah melayarinya

Bagaimanakah saya memberikan dan membatalkan keistimewaan kepada pengguna MySQL?

Untuk menguruskan keistimewaan untuk pengguna MySQL, anda menggunakan arahan geran dan membatalkan. Inilah cara menggunakannya:

Memberi Keistimewaan:

Perintah geran digunakan untuk memberikan keistimewaan khusus kepada pengguna. Sintaks asas adalah:

 <code class="sql">GRANT privilege_type ON database_name.table_name TO 'username'@'host';</code>
Salin selepas log masuk

Sebagai contoh, untuk memberikan keistimewaan pilih pada jadual yang dinamakan employees dalam pangkalan data company kepada pengguna bernama john yang boleh menyambung dari mana -mana hos:

 <code class="sql">GRANT SELECT ON company.employees TO 'john'@'%';</code>
Salin selepas log masuk

Membatalkan keistimewaan:

Perintah Revoke digunakan untuk menghapuskan keistimewaan tertentu dari pengguna. Sintaks asas adalah:

 <code class="sql">REVOKE privilege_type ON database_name.table_name FROM 'username'@'host';</code>
Salin selepas log masuk

Sebagai contoh, untuk membatalkan keistimewaan pilih dari john di Jadual employees :

 <code class="sql">REVOKE SELECT ON company.employees FROM 'john'@'%';</code>
Salin selepas log masuk

Ingat, selepas mengubah keistimewaan, ini adalah amalan yang baik untuk menyegarkan keistimewaan untuk memastikan mereka berkuatkuasa dengan segera:

 <code class="sql">FLUSH PRIVILEGES;</code>
Salin selepas log masuk

Apa keistimewaan pengguna MySQL khusus yang boleh saya berikan atau dibatalkan?

MySQL menawarkan pelbagai keistimewaan yang boleh diberikan atau dibatalkan untuk menguruskan akses pengguna. Beberapa keistimewaan yang paling biasa termasuk:

  • Semua Keistimewaan : Hibah Semua Keistimewaan Tersedia.
  • Buat : Membolehkan penciptaan pangkalan data dan jadual baru.
  • Drop : Membolehkan penghapusan pangkalan data dan jadual.
  • Padam : Membolehkan penghapusan rekod dalam jadual.
  • Masukkan : Membolehkan penyisipan rekod baru ke dalam jadual.
  • Pilih : Membolehkan pengambilan data dari jadual.
  • Kemas kini : Membolehkan pengubahsuaian rekod sedia ada dalam jadual.
  • Alter : Membolehkan perubahan struktur jadual.
  • Indeks : Membolehkan penciptaan atau penghapusan indeks.
  • Jalankan : Membolehkan pelaksanaan rutin yang disimpan.

Di samping itu, terdapat keistimewaan pentadbiran seperti:

  • Pilihan geran : membolehkan pengguna memberikan atau membatalkan keistimewaan kepada/dari pengguna lain.
  • Super : Menyediakan keupayaan pentadbiran yang luas, seperti membunuh benang pengguna lain.

Apabila memberikan atau membatalkan keistimewaan ini, anda boleh menentukannya pada tahap yang berbeza: global (semua pangkalan data), pangkalan data, jadual, atau lajur.

Bagaimana saya boleh menyemak keistimewaan semasa pengguna MySQL?

Untuk menyemak keistimewaan semasa pengguna MySQL, anda boleh menggunakan pernyataan SHOW GRANTS . Sintaks asas adalah:

 <code class="sql">SHOW GRANTS FOR 'username'@'host';</code>
Salin selepas log masuk

Sebagai contoh, untuk melihat keistimewaan untuk pengguna john yang boleh menyambung dari mana -mana tuan rumah:

 <code class="sql">SHOW GRANTS FOR 'john'@'%';</code>
Salin selepas log masuk

Perintah ini akan menyenaraikan semua keistimewaan yang telah diberikan kepada john . Jika anda ingin melihat keistimewaan untuk pengguna yang sedang dilog masuk, anda hanya boleh menggunakan:

 <code class="sql">SHOW GRANTS FOR CURRENT_USER;</code>
Salin selepas log masuk

Ini akan memaparkan keistimewaan untuk pengguna yang sedang melaksanakan arahan.

Bagaimanakah saya mengubahsuai keistimewaan untuk pengguna MySQL berganda sekaligus?

Mengubah keistimewaan untuk pengguna MySQL berganda pada masa yang sama tidak disokong secara langsung oleh satu arahan dalam MySQL. Walau bagaimanapun, anda boleh mencapai ini dengan skrip proses. Berikut adalah pendekatan asas menggunakan skrip SQL:

  1. Buat skrip : Tulis skrip SQL yang mengandungi satu siri penyataan geran atau membatalkan untuk setiap pengguna. Contohnya:
 <code class="sql">GRANT SELECT ON company.employees TO 'john'@'%'; GRANT SELECT ON company.employees TO 'jane'@'%'; GRANT SELECT ON company.employees TO 'bob'@'%'; FLUSH PRIVILEGES;</code>
Salin selepas log masuk
  1. Jalankan skrip : Simpan skrip ke fail (misalnya, modify_privileges.sql ) dan kemudian laksanakannya menggunakan alat baris arahan MySQL:
 <code class="bash">mysql -u root -p </code>
Salin selepas log masuk

Pendekatan ini membolehkan anda mengautomasikan proses mengubah keistimewaan untuk beberapa pengguna sekaligus. Anda dapat meningkatkan lagi skrip ini dengan menggunakan gelung jika anda berurusan dengan sejumlah besar pengguna, mungkin dengan mengintegrasikannya dengan bahasa pengaturcaraan seperti Python atau skrip shell.

Ingat, sentiasa pastikan anda mempunyai sandaran tetapan keistimewaan anda dan menguji skrip dalam persekitaran bukan pengeluaran sebelum memohonnya ke pangkalan data langsung anda.

Atas ialah kandungan terperinci Bagaimanakah saya memberikan dan membatalkan keistimewaan kepada pengguna MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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