الميزة المميزة لـ MySQL هي أمانها الخاص ، بالاعتماد على الحماية الخارجية. كنظام إدارة قواعد بيانات حديث وكامل الميزات وفعال ، تمتلك MySQL أدواتها الخاصة لإدارة المستخدمين ووصولهم إلى الموارد التي تتحكم فيها.
إذا كنت لا تعرف اسم المستخدم وكلمة المرور الصحيحين ، فإن الوصول إلى قاعدة البيانات عبر MySQL أمر صعب للغاية.
في وضع الاستضافة العادي ، هذا يكفي. المواقف غير المتوقعة وهجمات القراصنة وغيرها من المشاكل هي مسألة تتعلق بإدارة النظام الخارجي وخدمات الأمن. أصبح هذا المفهوم تقليديًا ولم تتم مناقشته عمليًا.
تثبيت خادم MySQL وجذر المستخدم
في أي بيئة تشغيل يتم تثبيت نظام إدارة قاعدة البيانات ، يكون لديه دائمًا مستخدم واحد على الأقل: الجذر. قم بتثبيت MySQL ، وأنشئ مستخدمًا يتمتع بجميع حقوق الجذر - بدون ذلك ، اعمل معهالخادم غير ممكن. امتيازات هذا المستخدم كافية لـ:
- إنشاء وإدارة مستخدمين جدد ؛
- إنشاء وإدارة قواعد البيانات.
من الممكن بشكل أساسي أن يتواجد المستخدمون "بدون كلمة مرور" في MySQL ، لكن هذا غير مقبول.
ممارسة شائعة:
- خادم مثبت على الكمبيوتر الخاص ، حيث يمكن تثبيت الاستضافة (خيار محلي) ؛
- خادم على استضافة عامة على الإنترنت.
في الحالة الأولى ، من الممكن العمل مع الخادم من سطر الأوامر واستخدام phpMyAdmin ، في الحالة الثانية ، فقط phpMyAdmin أو أداة مماثلة ، ولكن يمكن الوصول إلى سطر الأوامر عبر وصول SSH عن بعد.
أدوات الإدارة الخاصة
الشعور بالقرابة مع عائلة Unixoid ومع الماضي من خوادم Apache هو سمة مميزة لـ MySQL: إنشاء مستخدم هو سطر أوامر ذو بناء جملة غريب. بالنسبة للمحترفين الذين يعملون مع Linux والأنظمة المماثلة ، فإن هذا مألوف بقدر ما يبدو جامحًا في أعين مستخدمي Windows الذين لم "يدخلوا الحياة الواقعية مطلقًا."
يبدأ إنشاء مستخدم ببدء سطر أوامر الخادم. في بيئة Windows ، يتم ذلك على النحو التالي.
أولاً (1) تحتاج إلى تشغيل سطر الأوامر كمسؤول ، ثم انتقل إلى المجلد حيث توجد MySQL (2) ، ثمبدء الخادم نفسه (3):
mysql -u… -p
هنا "-u…" و "-p" هي مفاتيح تشير إلى الاسم "…"=الجذر (أو أي اسم آخر) وكلمة المرور الخاصة به. من حيث المبدأ ، قد لا يكون المستخدم هو الجذر ، ولكن لديه حقوق "جذرية" (إدارية).
هام: الخادم يعمل دائمًا ، هنا mysql -u… -p هو الأمر للوصول إلى الخادم وليس بدء تشغيله.
في بيئة Linux والأنظمة المماثلة ، يعد هذا الأمر إجراءً "أصليًا" ، وكقاعدة عامة ، يتم تحديده ببساطة عن طريق بدء mysqld في المكان الصحيح (على المسار الصحيح) ، يجب التحقق من ذلك باستخدام مسؤول. عادة ما يكون هناك اسم مختلف هنا: ليس mysql ، ولكن mysqld. هنا أيضًا ، لا يتوفر هذا الإجراء دائمًا لجميع المستخدمين (لنظام التشغيل ، وليس لخادم MySQL). على عكس Windows ، في Linuxoids ، يعتبر النظام والأمن مطلبًا طبيعيًا وغير قابل للتفاوض ، والذي يتم التعامل معه دائمًا بطريقة حضارية.
على أي حال ، بمجرد أن يبدأ mysql ، سيعلن ذلك من خلال موجه (4):
mysql>
وسيكون من الممكن العمل مع كل من المستخدمين وقواعد البيانات.
ملاحظة. عند التثبيت في بيئة Windows ، يمكن تعيين كل شيء: Apache و MySQL و PHP و phpMyAdmin على المسارات الافتراضية ، لكن يوصى باستخدام مواقع أكثر إحكاما وأقرب لهذه الأدوات المهمة:
- ج: / SCiA / أباتشي ؛
- ج: SCiA PHP
- ج: SCiA MySQL ؛
- …
- c: / SCiB / localhost / www / phpMyAdmin / ؛
- ج: / SCiB / site1 / www / ؛
- ج: / SCiB / site2 / www / ؛
- …
- ج: / SCiB / siteN / www \.
لن يؤدي هذا المنطق إلى تبسيط الإدارة فحسب ، بل سيؤدي أيضًا إلى توسيع قدرة المطور على التنقل بين إصدارات المنتج وإدارة وظائفها.
العمل على سطر أوامر MySQL
بمجرد استجابة الخادم وتوفير سطر الأوامر الخاص به ، يمكن إنشاء المستخدمين وتعيين الأذونات.
في هذا المثال ، أنشأ أمر إنشاء مستخدم المستخدم Petrov بكلمة المرور 123DFG. إذا حدث خطأ عند إدخال أمر ما ، فإن الخادم يعرض تصحيحه ، ولكن من الأفضل عدم ارتكاب أخطاء عند العمل على سطر الأوامر!
الأمر التالي يمنح جميع الامتيازات يعطي جميع الحقوق لكل شيء. يمكن حذف أمر flush ، لكنه "ينبثق" المخزن المؤقت للأوامر ، أي أنه يصلح تنفيذها.
MySQL: إنشاء مستخدم ومنح حقوق قاعدة البيانات
الأمر المستخدم في المثال:
منح جميع الامتيازات.لـ 'Petrov' @ 'localhost' ؛
يمنح المستخدم حق الوصول إلى جميع قواعد البيانات (العلامة النجمية الأولى) لجميع الجداول (العلامة النجمية الثانية).
كقاعدة عامة في MySQL ، إنشاء مستخدم هو:
GRANT [نوع الامتياز] ON [اسم قاعدة البيانات]. [اسم الجدول] TO '[مستخدم]' @ 'localhost' ؛
الامتيازات التالية مسموح بها:
- كل الامتيازات - كل الحقوق.
- إنشاء - الحق في إنشاء جداول / قواعد بيانات جديدة.
- DROP - الحق في إسقاط الجداول / قواعد البيانات.
- DELETE - الحق في حذف المعلومات من الجداول.
- INSERT - الحق في كتابة المعلومات على الجداول.
- SELECT - الحق في قراءة المعلومات من الجداول.
- UPDATE - الحق في تحديث المعلومات في الجداول.
- GRANT OPTION - الحق في العمل مع امتيازات المستخدمين الآخرين.
من وجهة نظر عملية ، في MySQL تتضمن عبارة "إنشاء مستخدم" ثلاثة خيارات للحقوق:
- جميع الحقوق لجميع قواعد البيانات وجميع المستخدمين ؛
- قراءة وكتابة ؛
- للقراءة فقط.
نادرًا ما تكون هناك حاجة لخيارات أخرى لمنح الحقوق. في بيئة Linux ، هناك أسباب أكثر بكثير للحرية "القانونية" (والضرورة) ، ولكن هناك الكثير من الفرص هناك أكثر من Windows.
العملية العكسية لـ MySQL "إنشاء مستخدم" يتم إسقاطها
إسقاط المستخدم 'Petrov' @ 'localhost' ؛
بعد تنفيذ هذا الأمر ، لن يكون بتروف مستخدمًا وستفقد امتيازاته. لتغيير الامتيازات ، استخدم الأمر:
REVOKE [امتياز] تشغيل [DB]. [جدول] إلى '[مستخدم]' @ 'localhost' ؛
الإجراء المعتاد في MySQL هو إنشاء مستخدم أو حذفه ، لكن تغيير الامتيازات يعد أيضًا عملية صالحة (نادرًا ما يتم طلبها).
باستخدام phpMyAdmin
هناك العديد من تطبيقات هذه الأداة الرائعة. اعتمادًا على إصدار Apache و PHP و MySQL المستخدم ، غالبًا ما يستغرق الأمر وقتًا طويلاً للعثور على الإصدار الصحيح من هذا المنتج ، ولكن بمجرد تثبيت phpMyAdmin بنجاح ، يتمتع المستخدم بالعديد من الميزات المريحة والمريحة.الواجهة
باستخدام phpMyAdmin ، يمكنك إخبار MySQL بإنشاء مستخدم لأي مضيف وإدارة المستخدمين الحاليين بطرق شبه جراحية.
phpMyAdmin ليست الأداة الوحيدة ذات الواجهة المريحة والبديهية والغنية بالميزات ، ولكنها الأداة الأكثر شيوعًا لإدارة خوادم MySQL.
حول سطر الأوامر والأمان
بالطبع ، استخدام سطر أوامر MySQL هو تمرين غير جذاب ، ولكن يجب أن يؤخذ في الاعتبار أنه في بعض الحالات ، يمكن فقط لسطر أوامر الخادم حفظ قاعدة البيانات أو المستخدم ، والتأكد من استيراد أو تصدير المعلومات.
تتطور إصدارات البرامج بسرعة كبيرة بحيث لا يتوفر للمطورين الوقت للجمع بين ميزات ، على سبيل المثال ، PHP و MySQL و MySQL و phpMyAdmin. إذا حدث شيء ما ، فإن سطر الأوامر سيوفر دائمًا اليوم.
لا ينبغي لأحد أن ينسى أبدًا: إدارة MySQL تتعلق فقط بالوصول إلى قواعد بياناتها ومن خلال وظائفها. ملفات قاعدة البيانات مفتوحة للوصول خارج MySQL. يعد تأمين MySQL والموارد التي تتحكم بها خارجيًا حاجة حقيقية ومهمة.