عرض مشاركة مفردة
 
  #1  
قديم 19-07-2010, 09:05 PM
الصورة الشخصية لـ Mustafa Albazy
Mustafa Albazy Mustafa Albazy غير متصل
مصطفى البازي
 
تاريخ التسجيل: Mar 2004
المدينة: المملكة المتحدة - لندن
مشاركة: 1,558
مستوى تقييم العضوية: 10
Mustafa Albazy is on a distinguished road
وسام المشرف المميز في الويب العربي وسام الويب البرونزي وسام الويب الفضي وسام الويب الذهبي 
عدد الأوسمة: 4 (المزيد ...)
Awt6 انشاء او حذف مستخدم في MySQL server


السؤال: كيف اقوم بحذف مستخدم او انشاء مستخدم جديد في mysql عن طريق سطر الاوامر ؟

الجواب: ادوات وأوامر mysql حقيقة توفر لك كل شيء تحتاجة لإدراة خادم القواعد وقواعد البيانات دون الحاجة لإستخدام برمجيات خارجية مثل PhpMyAdmin. وفي الحقيقة ان برامج مثل PhpMyAdmin ماهي إلى ادوات اضافية تسهل وتبسط لك التعامل مع MySQL وليست بشيء اساسي لإدارة MySQL server. في هذا الموضوع سوف اقوم بشرح طريقة حذف مستخدم موجود او انشاء مستخدم جديد في mysql server. موضوعي مقسوم إلى قسمين الأول طريقة انشاء المستخدم والقسم الثاني طريقة حذف المستخدم وسوف اقوم ايضاً بشرح طريقة اعادة تسمية مستخدم ما.


متطلبات تنفيذ الشرح عملياً
  • خادم linux
  • MySQL server 5.x
  • root access
  • Terminal/SSH

إقتباس:

ملاحظة: اسلوب تنفيذ الأوامر في mysql سوف استخدمة بطريقة تنفيذ وخروج. اي دون الحاجة للدخول على سطر الاوامر الخاص ب mysql عن طريق الامر mysql. سوف استخدم خاصية e والتي تعمل باسلوب Execute command and quit كما قلت سابقاً تنفيذ الامر والخروج. وهذا هي الطريقة الأفضل لتجنب الدخول اليدوي لسطر الاوامر ومن ثم الخروج اليدوي من سطر الاوامر الخاص بال mysql. بحيث يكون الامر شيء مثل mysql -e “your command here” وهكذا…



الان قم بفتح سطر الاوامر. وتأكد انك بصلاحيات root. وان خادم mysql يعمل, ان كان لا يعمل تشغيلة يتم عن طريق الامر service mysql start


إنشاء مستخدم جديد في MySQL server

لإنشاء مستخدم جديد كل ماعليك هو تحديد ثلاث نقاط الأولى اسم المستخدم الذي تريد انشاءة, ثانياً اختيار كلمة المرور وثالثاً اختيار الهوست المربوط بة المستخدم مثلاً localhost او عنوان FQDN الخاص بالسيرفر.
صيغة امر إنشاء مستخدم تكون بهذه الطريقة

كود:
CREATE USER User_Name_Here IDENTIFIED BY 'Password_Here';
شرح سريع للأمر حتى تفهم بالضبط ماذا سوف تنفذ. اولاً يجب كتابة الامر بالحروف الكبيرة ماعدى اسم المستخدم اما الباسورد كيف ماتشاء. USER هو الامر الأول ويعني إنشاء الامر الفرعي هو USER وهذا يعني مستخدم, اي انك تريد انشاء مستخدم واخيراً IDENTIFIED BY ‘Password_Here’ وهذه لتحديد كلمة المرور ولا ننسى ان نغلق الامر بكتابة ; في نهاية الامر.

الأن لنفرض انك تريد إنشاء مستخدم بالاسم muse والباسورد Mustafa_Albazy اذن سوف يكون الامر بهذا الشكل

كود:
user@computer:$ mysql -e "CREATE USER muse IDENTIFIED BY 'Mustafa_Albazy';"
ارجو الملاحظة هنا انني لم احدد اسم HOSTNAME وهذا يعني انة سوف يتم جعل الهوست نيم % اي غير محدد.
لتحديد اسم الهوست localhost او FQDN سوف تكون صيغة الامر بهذا الشكل

كود:
CREATE USER 'User_Name_Here'@'localhost' IDENTIFIED BY 'Password_Here';
الان لو اردنا انشاء مستخدم بالاسم muse والباسورد Mustafa_Albazy والهوست نيم localhost سوف يكون الامر بهذا الشكل

كود:
user@computer:$ mysql -e "CREATE USER 'muse'@'localhost' IDENTIFIED BY 'Mustafa_albazy';"
وبهذا سوف يتم انشاء مستخدم بالاسم muse والباسورد Mustafa_Albazy ومع تحديد الهوست نيم localhost

إقتباس:

ملاحظة: إنشاء مستخدم جديد يحمل نفس الاسم لمستخدم موجود بالفعل في خادم mysql سوف يظهر لك خطأ. ولن يتم إنشاء المستخدم بعتبار ان المستخدم اصلاً موجود.


حذف مستخدم في MySQL server

لحذف مستخدم تحتاج إلى تحديد اسم المستخدم الذي تود حذفة, مع تحديد اسم الهوست نيم اذا كان موجود في أكثر من هوست نيم وتريد حذفة من هوست نيم معين فقط.
صيغة امر حذف مستخدم تكون بهذه الطريقة

كود:
DROP USER User_Name_Here;
شرح للأمر. اولاً استخدمنا الأمر DROP وهو المسؤول عن الحذف ثم اخترنا USER وهنا حددنا اننا نريد حذف مستخدم ثم كتبنا اسم المستخدم المراد حذفة واخيراً اغلقنا الأمر بكتابة ;

الأن لو اردنا حذف المستخدم muse سوف يكون الأمر بهذا الشكل
كود:
user@computer:$ mysql -e "DROP USER muse;"
كما نلاحظ ان المثال بالأعلا يحذف اليوزر بدون تحديد الهوست نيم. ولتحديد الهوست نيم اثناء حذف المستخدم. تكون صيغة الأمر بهذا الشكل

كود:
DROP USER 'User_Name_Here'@'localhost';
لو اردنا حذف المستخدم muse من الهوست نيم localhost سوف يكون الامر بهذا الشكل
كود:
user@computer:$ mysql -e "DROP USER 'muse'@'localhost';"
إقتباس:

ملاحظة: محاولة حذف مستخدم غير موجود اصلاً سوف يظهر لك خطأ. بعتبار ان المستخدم غير موجود اصلاً.


إقتباس:

ملاحظة: عند حذف مستخدم ما. لن يتم حذف قاعدة البيانات المرتبطة مع المستخدم في هذا الاجراء. عملية حذف قاعدة البيانات منفصلة عن عملية حذف المستخدم.


اعادة تسمية مستخدم في MySQL server

حقيقة ان الأغلبية عند محاولة تغييرهم لمسمى اسم المستخدم يقوم بحذف المستخدم الحالي وإنشاء مستخدم جديد ومن ثم يقوم بربطة من جديد بالقاعدة. لماذا هذا التعب كلة ؟ وهنالك امر جاهز في mysql يقوم بهذه الوظيفة بشكل سريع.

صيغة امر اعادة تسمية مستخدم تكون بهذا الشكل

كود:
RENAME USER Old_User_name_here TO New_User_Name_here;
شرح للأمر. اولاً استخدمنا الأمر RENAME وهذا يعني اننا نريد اعادة تسمية شيء معين, ثم قمنا بتحديد USER وهذا يعني اننا نريد اعادة تسمية مستخدم, ثم وضعنا اسم المستخدم الحالي المراد تغييرة ثم TO وهنا حددنا اننا نريد تغيرة إلى, ثم كتبنا اسم المستخدم الجديد الذي نريدة.

الأن لو اردت تغيير المستخدم muse إلى mustafa سوف يكون الامر بهذا الشكل
كود:
user@computer:$ mysql -e "RENAME USER muse TO mustafa;"
لتحديد تغيير اسم المستخدم مع الهوست نيم سوف تكون صيغة الامر بهذا الشكل

كود:
RENAME USER 'Old_User_name_here'@'localhost' TO 'New_User_Name_here'@'localhost';
ولو اردت تغيير المستخدم muse إلى mustafa مع تحديد الهوست نيم سوف يكون الامر بهذا الشكل
كود:
user@computer:$ mysql -e "RENAME USER 'muse'@'localhost' TO 'mustafa'@'localhost';"
إقتباس:

ملاحظة اخيرة مهمة: البعض يضن ان مستخدمين mysql لهم صلة او علاقة مع مستخدمين النظام linux او اي نظام اخر. وهذا غير صحيح تماماً. مستخدمين mysql مفصولين بشكل كامل عن مستخدمين النظام وبما فيهم مدير mysql وهو root. مستخدمين mysql يتم إنشائهم للعمل في بيئة mysql فقط لاغير. ويتم حفظ المستخدمين بداخل جدول خاص بالمستخدمين.




إلى هنا ينتهي موضوعي. اذا كان لديك اي سؤال تفضل بكتابتة هنا. حاولت تبسيط الموضوع بقدر الامكان بحيث يكون مناسب للجميع, ولكن ان كان هنالك شيء غير واضح يمكنك كتابة سؤال عنة بشرط يكون بنفس هدف الموضوع هذا.

ان شاء الله موضوعي القادم في mysql سوف يكون بنفس هدف الموضوع هذا ولكن على مستوى قواعد البيانات وليس المستخدمين.


تحياتي للجميع. مصطفى البازي.
يمنع النسخ, ومن يقوم بالنسخ بدون اذن يعتبر تعدي!






التوقيع