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'@'%';
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'
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;
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!