1. لماذا إنشاء مستخدمين في MySQL
أهمية إدارة المستخدمين في MySQL
MySQL هو نظام إدارة قواعد بيانات يُستخدم على نطاق واسع في المشاريع التجارية والشخصية، وإدارة المستخدمين أمر أساسي للحفاظ على أمانه وكفاءته. على سبيل المثال، في التطبيقات واسعة النطاق، غالبًا ما يحتاج عدة مطورين ومديرين إلى الوصول إلى قاعدة البيانات. في مثل هذه الحالات، منح صلاحيات مختلفة لكل مستخدم وتقييد الوصول إلى البيانات أو العمليات بشكل مناسب أمر حاسم.
من خلال منح صلاحيات محددة، يمكنك تقليل فقدان البيانات أو مخاطر الأمان الناتجة عن عمليات غير ضرورية. بالإضافة إلى ذلك، فرض إدارة كلمات المرور السليمة لكل مستخدم يساعد في منع الوصول غير المصرح به من مصادر خارجية. هذا النهج يحسن أمان البيانات وأداء النظام.
2. كيفية إنشاء مستخدمين في MySQL
أمر إنشاء المستخدم الأساسي
لإنشاء مستخدم في MySQL، استخدم الأمر CREATE USER. على سبيل المثال:
CREATE USER 'username'@'localhost' IDENTIFIED BY 'password';
'username': اسم المستخدم الجديد.'localhost': المضيف الذي يمكن للمستخدم الاتصال منه (استخدامlocalhostيقيد الوصول إلى الخادم نفسه).'password': كلمة المرور الممنوحة للمستخدم.
افتراضيًا، يمكن للمستخدمين الوصول إلى قاعدة البيانات فقط من localhost. للسماح بالوصول من عناوين IP أخرى، استبدل localhost بعنوان IP محدد.
الخيارات عند إنشاء المستخدمين
يسمح MySQL أيضًا بخيارات إضافية أثناء إنشاء المستخدم. على سبيل المثال، يمكنك تحديد ملحق مصادقة كالتالي:
CREATE USER 'username'@'localhost' IDENTIFIED WITH 'auth_plugin' BY 'password';
يحدد auth_plugin طريقة المصادقة (مثل caching_sha2_password). استخدام ملحق يعزز أمان كلمة المرور.

3. منح الصلاحيات للمستخدمين
نظرة عامة وأهمية الصلاحيات
افتراضيًا، لا يمتلك المستخدمون الجدد أي صلاحيات. لمنحهم الوصول، استخدم الأمر GRANT. على سبيل المثال، لمنح جميع الصلاحيات على قاعدة بيانات:
GRANT ALL PRIVILEGES ON database_name.* TO 'username'@'localhost';
يسمح هذا الأمر للمستخدم بإجراء جميع الإجراءات على جميع الجداول في database_name. ومع ذلك، منح الصلاحيات الكاملة يحمل مخاطر أمان، لذا من الأفضل منح الصلاحيات المطلوبة فقط.
منح صلاحيات محددة
يمكنك منح صلاحيات محددة، مثل:
- صلاحية SELECT (قراءة البيانات)
GRANT SELECT ON database_name.* TO 'username'@'localhost';
- صلاحية INSERT (إدراج البيانات)
GRANT INSERT ON database_name.* TO 'username'@'localhost';
- صلاحية UPDATE (تحديث البيانات)
GRANT UPDATE ON database_name.* TO 'username'@'localhost';
يمكن تطبيق هذه الصلاحيات على قاعدة البيانات بأكملها أو جداول محددة. على سبيل المثال:
GRANT SELECT ON database_name.table_name TO 'username'@'localhost';
4. التحقق من إدارة صلاحيات المستخدمين
عرض صلاحيات المستخدم
للتحقق من صلاحيات مستخدم، استخدم الأمر SHOW GRANTS. على سبيل المثال:
SHOW GRANTS FOR 'username'@'localhost';
يُسرد هذا الأمر جميع الصلاحيات الممنوحة حاليًا للمستخدم، مما يجعل من السهل مراجعتها وتعديلها حسب الحاجة.
سحب الصلاحيات (أمر REVOKE)
لإزالة الصلاحيات غير الضرورية، استخدم الأمر REVOKE. على سبيل المثال، لسحب صلاحية SELECT:
REVOKE SELECT ON database_name.* FROM 'username'@'localhost';
تأكد دائمًا من التغييرات باستخدام SHOW GRANTS بعد سحب الصلاحيات.

5. أفضل الممارسات لإدارة مستخدمي MySQL
مبدأ الصلاحية الأقل
قاعدة أساسية في إدارة قواعد البيانات هي منح الصلاحيات الدنيا اللازمة فقط. هذا يمنع التغييرات العرضية أو الوصول غير المصرح به. على سبيل المثال، إذا كان المستخدم بحاجة فقط إلى قراءة البيانات، منح صلاحية SELECT فقط.
تعزيز سياسات كلمات المرور
يجب تغيير كلمات المرور لمستخدمي MySQL بانتظام واتباع سياسات كلمات مرور قوية. يمكنك استخدام الأمر ALTER USER لتحديث كلمات المرور أو تعيين سياسات انتهاء الصلاحية:
ALTER USER 'username'@'localhost' IDENTIFIED BY 'new_password';
لتطبيق انتهاء الصلاحية، يمكنك ضبط فاصل زمني:
ALTER USER 'username'@'localhost' PASSWORD EXPIRE INTERVAL 90 DAY;
هذا يضمن أنه يجب تحديث كلمات المرور كل 90 يومًا.
مراجعات الامتيازات المنتظمة
قم بمراجعة امتيازات المستخدمين بشكل دوري وإزالة غير الضرورية. يساعد ذلك في تعزيز أمان النظام وتقليل المخاطر مع مرور الوقت. استخدم SHOW GRANTS بانتظام لمراقبة وصيانة إدارة الامتيازات بشكل صحيح.
6. الخاتمة
إدارة المستخدمين في MySQL أمر حيوي للحفاظ على كل من الأمان والأداء. من خلال إنشاء مستخدمين جدد باستخدام أمر CREATE USER ومنح الامتيازات المناسبة باستخدام أمر GRANT، يمكنك تشغيل قاعدة البيانات بأمان وكفاءة. تطبيق مبدأ أقل امتياز وتطبيق سياسات كلمة مرور قوية يساعد على تقليل المخاطر من الوصول غير المصرح به أو الأخطاء.
مراجعة وتعديل الامتيازات بانتظام يضمن أمانًا أقوى وعمليات قاعدة بيانات أكثر موثوقية بشكل عام.


