كيفية إدارة مستخدمي MySQL: قائمة المستخدمين، الأذونات، وأفضل الممارسات

1. نظرة عامة على مستخدمي MySQL

إدارة المستخدمين في MySQL هي جانب حاسم من جوانب أمان قاعدة البيانات والعمليات. تساعد إدارة المستخدمين السليمة في منع الوصول غير المصرح به إلى قاعدة البيانات وتحسين الكفاءة التشغيلية من خلال منح الصلاحيات المناسبة. في هذه المقالة، سنشرح بالتفصيل كيفية تخزين معلومات مستخدمي MySQL وكيفية عرض قائمة بالمستخدمين.

1.1 أهمية إدارة مستخدمي MySQL

بما أن قواعد البيانات غالباً ما تخزن معلومات سرية للغاية، فإن إدارة المستخدمين السليمة أمر أساسي. من خلال تعيين حقوق وصول مفصلة لكل مستخدم، يمكنك تعزيز الأمان والحفاظ على سلامة البيانات.

2. حيث يتم تخزين معلومات مستخدمي MySQL

يتم تخزين معلومات مستخدمي MySQL في جدول user داخل قاعدة بيانات mysql. يحتوي هذا الجدول على تفاصيل متنوعة تتعلق بكل مستخدم، مثل اسم المستخدم، اسم المضيف، كلمة المرور (المشفرة)، ملحق التحقق من الهوية، وغيرها.

2.1 هيكل جدول mysql.user

يحتوي جدول mysql.user على العديد من الأعمدة، كل منها يخزن معلومات تتعلق بالمستخدمين الفرديين. تشمل الأعمدة النموذجية:

  • Host : اسم المضيف الذي يتصل منه المستخدم
  • User : اسم المستخدم
  • Password : كلمة المرور المشفرة
  • plugin : نوع ملحق التحقق من الهوية
  • إعدادات أمان أخرى ذات صلة

للوصول إلى هذا الجدول، تحتاج إلى صلاحيات root أو إذن SELECT على mysql.user.

3. استرجاع قائمة مستخدمي MySQL

للحصول على قائمة بمستخدمي MySQL، تحتاج إلى استفسار جدول mysql.user. أدناه، سنشرح الطريقة الأساسية لسرد المستخدمين وكيفية تضمين كلمات المرور الخاصة بهم.

3.1 الاستعلام الأساسي لسرد المستخدمين

إليك استعلاماً بسيطاً لعرض جميع المستخدمين من جدول mysql.user:

SELECT Host, User FROM mysql.user;

تشغيل هذا الاستعلام سيسرد جميع المستخدمين مع المضيف الذي يتصل منه كل مستخدم.

3.2 عرض كلمات المرور المشفرة

للتضمين كلمات المرور المشفرة في القائمة، استخدم الاستعلام التالي:

SELECT Host, User, Password FROM mysql.user;

يعرض هذا الاستعلام المضيف، واسم المستخدم، وكلمة المرور المشفرة لكل مستخدم. لاحظ أن كلمات المرور مشفرة ولا يمكنك استرجاع كلمة المرور الفعلية.

4. استرجاع معلومات إضافية عن المستخدمين

يسمح MySQL أيضاً باسترجاع معلومات إضافية عن المستخدمين. على وجه الخصوص، من المفيد التحقق من صلاحيات المستخدمين وتفاصيل المستخدمين المتصلين حالياً.

4.1 التحقق من صلاحيات المستخدم

لرؤية الصلاحيات الممنوحة لمستخدم معين، استخدم بيان SHOW GRANTS:

SHOW GRANTS FOR 'username'@'host';

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

4.2 التحقق من المستخدم المتصل حالياً

للتحقق من معلومات المستخدم المتصل حالياً، استخدم الدوال user() و current_user():

SELECT user(), current_user();

يعيد هذا الاستعلام كلاً من اسم المستخدم المستخدم للاتصال واسم المستخدم المصادق عليه الفعلي. عادةً ما يكونان متطابقين، لكنهما يمكن أن يختلفا في حالات معينة، مثل المستخدمين المجهولين.

5. مثال عملي

إليك مثالاً عملياً لعرض قائمة المستخدمين في MySQL.

5.1 الخطوات لعرض قائمة المستخدمين

  1. تسجيل الدخول إلى MySQL. على سبيل المثال، باستخدام مستخدم root : mysql -u root -p
  2. لعرض قائمة المستخدمين، قم بتشغيل الاستعلام التالي: SELECT Host, User FROM mysql.user;
  3. إذا كنت تريد تضمين كلمات المرور المشفرة، استخدم هذا الاستعلام: SELECT Host, User, Password FROM mysql.user;

5.2 التحقق من صلاحيات المستخدم

للتحقق من صلاحيات مستخدم معين، استخدم بيان SHOW GRANTS:

SHOW GRANTS FOR 'tanaka'@'localhost';

تعرض هذا الأمر الصلاحيات الممنوحة لمستخدم tanaka.

6. أفضل الممارسات لإدارة مستخدمي MySQL

هناك عدة ممارسات أفضل يجب مراعاتها عند إدارة مستخدمي MySQL.

6.1 مراجعة قائمة المستخدمين بانتظام

تحقق بانتظام من جدول mysql.user للتأكد من عدم وجود مستخدمين غير ضروريين أو مستخدمين بصلاحيات غير مناسبة.

6.2 استخدام كلمات مرور قوية

استخدم كلمات مرور قوية ومعقدة لكل مستخدم. هذا يقلل من خطر الوصول غير المصرح به.

6.3 منح الحد الأدنى من الصلاحيات الضرورية فقط

قم بمنح المستخدمين فقط الحد الأدنى من الصلاحيات اللازمة لمهامهم. هذا يعزز أمان قاعدة البيانات.

7. Conclusion

قدمت هذه المقالة شرحًا مفصلاً لإدارة مستخدمي MySQL. فهم مكان تخزين معلومات المستخدم وكيفية عرضها أمر حيوي للحفاظ على أمان قاعدة البيانات. معرفة كيفية التحقق من صلاحيات المستخدم وتفاصيل الاتصال سيساعدك على إدارة MySQL بشكل أكثر كفاءة.