MySQL عبارة عن نظام إدارة قواعد بيانات علائقية مفتوح المصدر ومتعدد المنصات، وهي قاعدة البيانات الأكثر اقتصادًا وبأسعار معقولة التي نستخدمها عادةً نظرًا لصغر حجمها وسرعتها العالية وتكلفة ملكيتها الإجمالية المنخفضة، وخاصةً ميزة المصدر المفتوح، فهي تتيح للمستخدمين للحصول على النتائج الأكثر عملية، صحيح أن العديد من المستخدمين لا يعرفون الكثير عن مبادئ الترخيص في التطبيقات، فلنحللها للجميع. MySQL عبارة عن نظام إدارة قواعد بيانات علائقية مفتوح المصدر ومتعدد المنصات، وهي قاعدة البيانات الأكثر اقتصادًا وبأسعار معقولة التي نستخدمها عادةً نظرًا لصغر حجمها وسرعتها العالية وتكلفة ملكيتها الإجمالية المنخفضة، وخاصةً ميزة المصدر المفتوح، فهي تتيح للمستخدمين للحصول على النتائج الأكثر عملية، صحيح أن العديد من المستخدمين لا يعرفون الكثير عن مبادئ الترخيص في التطبيقات، فلنحللها للجميع.
حالة إعادة تشغيل الخادم
عندما يبدأ mysqld، تتم قراءة جميع محتويات جدول المنح في الذاكرة وتصبح فعالة من تلك النقطة فصاعدًا.
عندما تطبق على الفور من قبل الخادم
سيتم ملاحظة التعديلات على جدول التفويض باستخدام GRANT أو REVOKE أو SET PASSWORD على الفور بواسطة الخادم.
التعديل المباشر على نموذج التفويض
إذا قمت بتعديل جداول المنح يدويًا (باستخدام INSERT، UPDATE، وما إلى ذلك)، فيجب عليك تنفيذ عبارة FLUSH PRIVILEGES أو تشغيل امتيازات تدفق mysqladmin لإخبار الخادم بإعادة تحميل جداول المنح، وإلا فلن تصبح تغييراتك نافذة المفعول إلا إذا قمت بإعادة التشغيل الخادم.
التأثير على اتصالات العملاء الحالية
عندما يلاحظ الخادم تغيير جدول التفويض، يكون لاتصالات العميل الحالية التأثيرات التالية:
· تسري أذونات الجدول والعمود بناءً على طلب العميل التالي.
· ستسري التغييرات في إذن قاعدة البيانات على أمر USE db_name التالي.
· تدخل تغييرات الأذونات العامة وتغييرات كلمة المرور حيز التنفيذ في المرة التالية التي يتصل فيها العميل.
مبدأ التفويض
بغض النظر عن مدى حرصك، فسوف تترك حتماً ثغرات عند السماح للمستخدمين، وآمل أن يقدم لك المحتوى التالي بعض المساعدة، ويجب عليك الالتزام بهذه القواعد بشكل عام.
يحق للمستخدم الجذر فقط إعادة كتابة جدول التفويض
لا تمنح الحق في إعادة كتابة جدول التفويض لمستخدمين آخرين باستثناء المستخدم الجذر (بالطبع، إذا كان بإمكانك استخدام مستخدم آخر ليحل محل المستخدم الجذر للإدارة، لزيادة الأمان). ولهذا السبب، يمكن للمستخدمين تجاوز الأذونات الموجودة عن طريق الكتابة فوق جدول التفويضات. خلق ثغرات أمنية.
عادة لا يجوز لك ارتكاب هذا الخطأ، ولكن بعد تثبيت توزيعة جديدة، جدول التفويض الأولي. هذه الثغرة الأمنية موجودة وقد ترتكب أخطاء إذا لم تفهم محتويات نموذج التفويض في الوقت الحالي.
في نظام Unix (Linux)، بعد تثبيت MySQL وفقًا للتعليمات الواردة في الدليل، يجب عليك تشغيل البرنامج النصي mysql_install_db لإنشاء قاعدة بيانات mysql بما في ذلك جدول التفويض والأذونات الأولية. في نظام التشغيل Windows، قم بتشغيل برنامج الإعداد في التوزيعة لتهيئة دليل البيانات وقاعدة بيانات mysql. ومن المفترض أن الخادم يعمل أيضًا.
عند تثبيت MySQL لأول مرة على جهازك، تتم تهيئة جداول التفويض في قاعدة بيانات mysql على النحو التالي:
· يمكنك الاتصال كجذر من المضيف المحلي دون تحديد كلمة مرور. يتمتع المستخدم الجذر بجميع الحقوق (بما في ذلك الحقوق الإدارية) ويمكنه فعل أي شيء. (بالمناسبة، مستخدم MySQL المتميز ومستخدم Unix المتميز لهما نفس الاسم ولا علاقة لهما ببعضهما البعض.)
· يتم منح الوصول المجهول للمستخدمين الذين يمكنهم الاتصال محليًا بقاعدة البيانات المسماة test وأي اسم قاعدة بيانات يبدأ بـ test_. يمكن للمستخدمين المجهولين فعل أي شيء بقاعدة البيانات ولكن ليس لديهم حقوق إدارية.
بشكل عام، يوصى بحذف سجلات المستخدم المجهولة:
Mysql> حذف من المستخدم حيث المستخدم = ""؛
وللمضي قدمًا، قم أيضًا بحذف أي مستخدمين مجهولين في جداول التفويض الأخرى، والجداول التي تحتوي على أعمدة المستخدم هي db، وtables_priv، و columns_priv.
قم أيضًا بتعيين كلمة مرور للمستخدم الجذر.
حول إعدادات المستخدم وكلمة المرور والمضيف
· استخدم كلمات المرور لجميع مستخدمي MySQL.
تذكر، إذا لم يكن لدىother_user كلمة مرور، فيمكن لأي شخص تسجيل الدخول باسم أي شخص آخر ببساطة باستخدام mysql -uother_user db_name. بالنسبة لتطبيقات العميل/الخادم، من الشائع أن يقوم العميل بتحديد أي اسم مستخدم. قبل تشغيله، يمكنك تغيير كلمات المرور لجميع المستخدمين، أو فقط كلمة مرور جذر MySQL، عن طريق تحرير البرنامج النصي mysql_install_db، مثل هذا:
شل> الخلية -u جذر الخلية
Mysql> تحديث كلمة مرور المستخدم المحددة = كلمة المرور ('new_password')
-> حيث المستخدم='الجذر';
الخلية> امتيازات فلوش؛