أذونات مستخدم MySQL

مقدمة سريعة حول أذونات المستخدم في قاعدة بيانات MySQL

دعونا نرى كيفية منح الأذونات (تسمى الامتيازات) لمستخدم قاعدة بيانات MySQL

بشكل افتراضي عند إنشاء مستخدم MySQL جديد باستخدام بناء الجملة

CREATE USER '<username>'@'localhost' IDENTIFIED BY '<password>';

لا يستطيع المستخدم فعل الكثير. يمكننا القول أنه لا يمكن لأي شيء ، في الواقع.

لا يمكنه قراءة البيانات من أي قاعدة بيانات موجودة ، ناهيك عن تعديل البيانات. ولا يمكنه حتى إنشاء قاعدة بيانات جديدة.

لجعل المستخدم يفعل أي شيء ، عليك أن تفعلمنح الامتيازاتإليها.

يمكنك القيام بذلك باستخدام ملفGRANTيأمر.

يمكننا ان نستخدمGRANT <permission>، باستخدام كلمات الإذن التالية:

  • CREATE
  • DROP
  • DELETE
  • INSERT
  • SELECT
  • UPDATE
  • ALL PRIVILEGES

امنح امتياز إنشاء قواعد بيانات جديدة للمستخدم

GRANT CREATE ON *.* TO '<username>'@'localhost';

امنح امتيازات لمستخدم لإنشاء جداول جديدة في قاعدة بيانات معينة

GRANT CREATE ON <database>.* TO '<username>'@'localhost';

امنح امتياز قراءة (استعلام) قاعدة بيانات معينة للمستخدم

GRANT SELECT ON <database>.* TO '<username>'@'localhost';

امنح امتياز قراءة قاعدة بيانات معينةطاولةللمستخدم

GRANT SELECT ON <database>.<table> TO '<username>'@'localhost';

امنح امتياز إدراج وتحديث وحذف الصفوف في قاعدة بيانات معينة للمستخدم

GRANT INSERT, UPDATE, DELETE ON <database>.* TO '<username>'@'localhost';

امنح امتياز حذف جداول في قاعدة بيانات معينة لمستخدم

GRANT DROP ON <database>.* TO '<username>'@'localhost';

امنح امتياز حذف قواعد البيانات للمستخدم

GRANT DROP ON *.* TO '<username>'@'localhost';

امنح كل الامتيازات في قاعدة بيانات معينة لمستخدم

GRANT ALL PRIVILEGES ON <database>.* TO '<username>'@'localhost';

امنح كل الامتيازات للمستخدم

GRANT ALL PRIVILEGES ON *.* TO '<username>'@'localhost';

إبطال امتياز

مثال لإلغاءDROPامتياز على<database>:

REVOKE DROP ON <database>.* TO '<username>'@'localhost';

لسحب جميع الامتيازات ، قم بتشغيل:

REVOKE ALL PRIVILEGES ON *.* TO '<username>'@'localhost';

يمكنك تصور امتيازات مستخدم واحد من خلال تشغيل:

SHOW GRANTS FOR '<username>'@'localhost';

المزيد من دروس قواعد البيانات: