شرح صفوف ومحتوى الفقرة
بعد إنشاء الحساب بأمر 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';