Rumah > pangkalan data > tutorial mysql > Bagaimana Memberi Keistimewaan Pangkalan Data Komprehensif dengan Benar dalam MySQL untuk Mengelakkan Ralat CREATE Jadual?

Bagaimana Memberi Keistimewaan Pangkalan Data Komprehensif dengan Benar dalam MySQL untuk Mengelakkan Ralat CREATE Jadual?

Patricia Arquette
Lepaskan: 2024-12-27 10:20:13
asal
554 orang telah melayarinya

How to Properly Grant Comprehensive Database Privileges in MySQL to Avoid CREATE Table Errors?

Memberi Keistimewaan Pangkalan Data Komprehensif dalam MySQL

Apabila mencipta pangkalan data dan memberikan keistimewaan pengguna, adalah penting untuk memastikan bahawa pengguna mempunyai hak yang mencukupi untuk melaksanakan operasi yang diperlukan dalam pangkalan data. Walau bagaimanapun, adalah mungkin untuk menghadapi masalah seperti tidak dapat mencipta jadual walaupun memberikan keistimewaan yang nampaknya menyeluruh.

Pernyataan Masalah:

Pangkalan data bernama 'mydb' telah dibuat dan pengguna bernama 'myuser' telah diberikan yang berikut keistimewaan:

GRANT ALL ON mydb.* TO 'myuser'@'%';
GRANT ALL ON mydb TO 'myuser'@'%';
GRANT CREATE ON mydb TO 'myuser'@'%';
Salin selepas log masuk

Walau bagaimanapun, apabila pengguna cuba mencipta jadual, mereka menghadapi mesej ralat yang menyatakan:

CREATE TABLE t (c CHAR(20) CHARACTER SET utf8 COLLATE utf8_bin);
ERROR 1142 (42000): CREATE command denied to user 'myuser'@'...' for table 't'
Salin selepas log masuk

Penyelesaian:

Untuk memberikan pengguna 'myuser' semua keistimewaan yang diperlukan pada pangkalan data 'mydb' dan jadual masa hadapan, arahan berikut hendaklah dilaksanakan:

GRANT ALL PRIVILEGES
ON mydb.*
TO 'myuser'@'%'
WITH GRANT OPTION;
Salin selepas log masuk

Arahan ini memberikan 'pengguna saya' semua keistimewaan pada pangkalan data 'mydb', termasuk keupayaan untuk mencipta, mengubah dan melepaskan jadual. Klausa WITH GRANT OPTION membenarkan pengguna memindahkan keistimewaan ini kepada pengguna lain.

Nota Penting:

Walaupun penyelesaian ini berkesan menangani isu akses, adalah penting untuk dipertimbangkan implikasi keselamatan pemberian keistimewaan DENGAN OPSYEN GERAN. Keistimewaan ini membolehkan pengguna mengubah suai kebenaran pengguna lain. Atas sebab keselamatan, adalah disyorkan untuk menggunakan akaun pengguna khusus dengan hanya keistimewaan pangkalan data yang diperlukan untuk tugasan tertentu.

Atas ialah kandungan terperinci Bagaimana Memberi Keistimewaan Pangkalan Data Komprehensif dengan Benar dalam MySQL untuk Mengelakkan Ralat CREATE Jadual?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan