انتقل إلى محتوى الدرس

Granting Permissions with GRANT منح الصلاحيات بأمر GRANT

تعلّم إدارة الصلاحيات والأدوار عبر GRANT و REVOKE وتطبيق مبدأ أقل الصلاحيات في MySQL 8 مع أمثلة SQL وتطبيقات تفاعلية.
1 صفوف تعليمية
MySQL
7 مشاهدة

شرح صفوف ومحتوى الفقرة

الصف 1 شرح توضيحي

بعد إنشاء الحساب بأمر CREATE USER، نستخدم الأمر القياسي GRANT لمنحه الصلاحيات الدقيقة التي يحتاجها على قاعدة البيانات أو الجدول المستهدف:

  • GRANT SELECT, INSERT, UPDATE ON shop_db.* TO 'shop_app'@'10.0.1.%';: يمنح حساب التطبيق صلاحيات القراءة والإدراج والتحديث على جميع جداول قاعدة البيانات shop_db.
  • GRANT SELECT ON shop_db.products TO 'report_reader'@'localhost';: يمنح صلاحية القراءة فقط على جدول المنتجات وحده.
  • تجنب منح WITH GRANT OPTION لحسابات التطبيقات: تسمح هذه الإضافة للمستخدم بمنح صلاحياته لحسابات أخرى؛ لذا يجب قصرها على مديري النظام فقط.
  • فصل الإنشاء عن المنح في MySQL 8: لم يعد خادم MySQL 8 يقبل كتابة IDENTIFIED BY داخل أمر GRANT؛ بل يجب إنشاء المستخدم أولاً بـ CREATE USER ثم منحه الصلاحيات بـ GRANT.
Query OK, 0 rows affected (0.01 sec)
Query OK, 0 rows affected (0.01 sec)
SQL
GRANT SELECT, INSERT, UPDATE
ON shop_db.*
TO 'shop_app'@'10.0.1.%';

GRANT SELECT
ON shop_db.products
TO 'report_reader'@'localhost';