بحث متقدم | التسجيل
الويب العربي
  تسجيل دخول
 
   
   

  ملاحظة
الموقع متاح للإطلاع والقراءة فقط، المشاركة والمواضيع الجديدة غير متاحة حالياً لحين تطوير الموقع.




الموقع متاح للإطلاع والقراءة فقط، المشاركة والمواضيع الجديدة غير متاحة حالياً لحين تطوير الموقع.

عـودة للخلف   الويب العربي سوق الإستضافة إدارة وتشغيل السيرفرات

إدارة وتشغيل السيرفرات تبادل الخبرات في إدارة السيرفرات, الشبكات وأنظمة التشغيل.

 
 
خيارات الموضوع طريقة العرض
  #1  
قديم 02-05-2005, 07:59 AM
Ali Hamad Ali Hamad غير متصل
ابعاد المعلومات - السيرفرات والاستضافة
 
تاريخ التسجيل: Mar 2005
المدينة: IA, USA
مشاركة: 649
مستوى تقييم العضوية: 21
Ali Hamad is on a distinguished road
إرسال رسالة عبر MSN إلى Ali Hamad
الافتراضي حصريا لـ AWT : كيفية التعامل مع ال Mysql باستخدام ال Shell

سم الله الرحمن الرحيم :
في البدايه ، شكرا للويب العربي لاعطائنا هذه الفرصه للتحاور وتناقش الاراء وتبادل الخبرات .
############ xD #######
## الموضوع : حصري ل AWT ، كيفية التعامل مع ال Mysql باستخدام ال Shell ، اقتراحات
## كاتب الموضوع : Ali Hamad
## الحقوق : يمنع نسخ الموضوع او نقله خارج AWT ولامانع من وضع روابط للموضوع .
## رقم الدرس : 1
## تحذير : انت تستخدم هذا الدرس على مسؤوليتك الخاصة فقط
########### xD #######

س1 : كيفيه انشاء قواعد بيانات باستخدام الشل ؟

إقتباس:

/usr/bin/mysqladmin creat DATABASENAME

حيث ان DATABASENAME هو اسم القاعدة التي تريد انشائها ، ولنفترض انها يوجد لدي اسم مستخدم في السيرفر باسم Ali .

اذن سيكون الامر :
إقتباس:

/usr/bin/mysqladmin creat Ali_xD

افتراضا ان اسم قاعدة البيانات xD .

ويوجد طريقه اخرى باستخدام شل ال Mysql ، وهي كالتالي :

في البداية الدخول على شل ال Mysql :

إقتباس:

mysql -u root -p



بعد ذلك ، انشاء القاعده بالامر :
إقتباس:

create database Ali_xD





س 2 : كيف ساقوم بانشاء اسم مستخدم للقاعدة للتحكم بها ؟

قبل كل شيء لابد ان تقوم بمعرفة باسورد الروت الخاص بقواعد البيانات :

إقتباس:

cat /root/.my.cnf

سيجلب لك باسورد الروت الخاص بقواعد البيانات .

## اذن كيف ساقوم بانشاء اسم مستخدم لقاعدة البيانات ؟
في البداية لابد من الدخول على محرر الشل الخاص بقواعد البيانات ،

إقتباس:

mysql -uroot -p

سيطلب منك باسورد الروت الخاص بقواعد البيانات ، تقوم بادخاله ومن ثم انتر ،

بعد ذلك ستقوم بكتابة الامر :
إقتباس:

use mysql;

للدخول على قاعدة البيانات التي سيتم العمل عليها ، لنقم الان بانشاء اسم مستخدم ولكن كما نعرف بانه سيكون لاسم المستخدم باسورد خاص به ، اذن لنحضر كلمة المرور الخاصه بالاسم المراد انشائه اولا ولنفترض باني اريد الباسورد AliHamad، اطبع الامر :
إقتباس:

SELECT PASSWORD('AliHamad');

سيظهر الباسورد كالتالي :
+-----------------------+
| PASSWORD ('AliHamad') |
+-----------------------+
| 5428fa3b0b637ab8 |
+-----------------------+

اذن سنستخدم الشفرة :
5428fa3b0b637ab8

سنقوم الان بانشاء اسم المستخدم بالباسورد الذي قمنا بانشائه ولنفترض بان اسم المستخدم سيكون ali_xD:
نطبع الامر التالي في شل ال mysql

إقتباس:

INSERT INTO user (Host, User, Password) VALUES ('localhost', 'Ali_xD', '5428fa3b0b637ab8');



قمنا الان باضافة اليوزر بنفس الباسورد الذي استنتجناه سابقا ،

س3 : كيف اقوم باضافة اسم المستخدم الى قاعدة البيانات التي قمت بانشائها سابقا ؟
نقوم الان بالدخول الى شل قواعد البيانات ،
mysql -uroot -p
نقوم بادخال باسورد الروت لقواعد البيانات
ومن ثم نقوم بالدخول الى القاعدة mysql
إقتباس:

use mysql;


بعد ذلك نقوم باضافة اسم المستخدم الى قاعدة البيانات مع الخصائص التي نريد اعطائها له

إقتباس:

INSERT INTO db (Host, Db, User, Select_priv, Insert_priv, Update_priv, Delete_priv, Create_priv, Drop_priv, Grant_priv, References_priv, Index_priv, Alter_priv, Create_tmp_table_priv, Lock_tables_priv) VALUES ('localhost', 'Ali_xD', 'Ali_xD', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'n','Y', 'Y', 'Y', 'Y', 'Y');



قمنا الان باضافة اسم المستخدم بكلمة المرور الخاصه به الى قاعدة البيانات التي انشأناها سابقا ،

ويوجد طريقة اخرى ، ساقوم بذكرها في الاسفل :

1) الدخول على شل المايسقول :

إقتباس:

mysql -uroot -p



طباعة الامر :
إقتباس:

GRANT ALL PRIVILEGES ON DATABASENAME.* TO USER@"LOCALHOST" IDENTIFIED BY 'PASSWD' WITH GRANT OPTION;



تفصيل الامر :
DATABASENAME = اسم قاعدة البايانات .
USER = اسم المستخدم لقاعدة البيانات
LOCALHOST = الهوست الموجود عليه قاعدة البيانات وهو في الغالب localhost
PASSWD = كلمة المرور الخاصة بقواعد البيانات .

ولو رجعنا للمثال ، سيكون الامر :

إقتباس:

GRANT ALL PRIVILEGES ON Ali_xD.* TO Ali_xD@"%" IDENTIFIED BY 'AliHamad' WITH GRANT OPTION;



لنقم الان بالخروج من شل قواعد البيانات ،
exit
نطبع الامر التالي لحفظ التغييرات :
إقتباس:

mysqladmin reload



لقنم الان بالتاكد من ان اسم المستخدم اعلاه لايقوم الا بالدخول على قاعدة البيانات المحدده له بالخصائص التي اعطيناه اياها سابقا :

إقتباس:

mysql -uAli_xD -p



نقوم بطباعة الباسورد الخاص بالقاعدة Ali_xD " في المثال هي ( AliHamad) ، ومن ثم نقوم بطباعة الامر :

إقتباس:

use mysql;


ستظر النتيجه :

إقتباس:

ERROR 1044: Access denied for user: 'Ali_xD@localhost' to database 'mysql'


لانه لايمكن صلاحية الدخول في الاصل ، ولكن لنبطع الامر :

إقتباس:

use Ali_xD;


عند اذن سيقبل الدخول بالتاكيد لتلك القاعدة .

س4 : هل يوجد هناك امر للتاكد من الخصائص المعطاه لليوزر اعلاه بالدخول على تلك القاعدة فقط ؟

إقتباس:

نعم ، لنقم بالدخول على شل Mysql :

mysql -uroot -p

بعد ان تقوم بادخال باسورد قاعدة البيانات نقوم بطباعة الامر :
إقتباس:

SHOW GRANTS FOR 'Ali_xD'@'localhost';



ستظهر النتيجة :
+-------------------------------------------------------------------------------------------+
| Grants for Ali_xD@localhost |
+-------------------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'Ali_xD'@'localhost' IDENTIFIED BY PASSWORD '5428fa3b0b637ab8' |
| GRANT ALL PRIVILEGES ON `Ali_xD`.* TO 'Ali_xD'@'localhost' |
+-------------------------------------------------------------------------------------------+

كما نشاهد بان الخصائص فقط حددت لليوزر Ali_xD للقاعدة Ali_xD بالباسورد الذي قمنا باختياره .

####فاصل للراحة #####
# يانعمة السي بنل ####
####انتهى الفاصل #####

س5: هل بالامكان تغيير الباسورد الخاص باسم المستخدم ؟

بالتاكيد نعم بالطريقة التالية :

* الدخول على شل قواعد البيانات :
إقتباس:

mysql -uroot -p


* ادخل باسورد روت ال Mysql
ثم اطبع الامر :
إقتباس:

SET PASSWORD FOR 'Ali_xD'@'localhost' = PASSWORD('YourNewPasswd');



حيث ان ال YourNewPasswd هو باسوردك الجديد بدون تشفير ، ولنفترض اني اريد الباسورد الجديد يكون AWT ، اذن الامر سيكون :
إقتباس:

SET PASSWORD FOR 'Ali_xD'@'localhost' = PASSWORD('AWT');


الان نقوم بالخروج من ال شل قواعد البيانات ،
exit

ومن ثم لحفظ المتغيرات :
إقتباس:

mysqladmin reload



س6 : لدي سيرفر ، واريد ان اقوم بعمل بك لقواعد البيانات كل 6 ساعات لحظف المتغير فقط ؟
لا مشاكل
اطبع الاوامر :

إقتباس:

mkdir /backup/mysql


إقتباس:

chmod 0755 /backup/mysql


إقتباس:

vi /scripts/mysqlbackup


بعد كذا راح تحرر الملف ، وتكتب الاسطر التاليه

إقتباس:

#!/bin/bash
/usr/bin/rsync -arzgopu /var/lib/mysql /backup/mysql



بعدين
:wq
انتر
اكيد راح تعطي الملف تصريح 755
إقتباس:

chmod 755 /scripts/mysqlbackup



طبعا تبي تضيف كرون جوب على اساس يتنفذ الملف كل 6 ساعات مثلا
اطبع الامر :

إقتباس:

echo "0 */6 * * * /scripts/mysqlbackup" >> /var/spool/cron/root



وصار عندك بك اب منفصل لقواعد البيانات في مجلد اخر كل 6 ساعات لكل قواعد البيانات لاخذ المتغيرات فقط ، مع العلم بانه يمكن اخذ بك اب بطريقة

إقتباس:

mysqlHotCopy or mysqldump -u - p --all-database > Any.sql



س7 : لا استخدم السي بنل ، ونسيت كلمة المرور الخاصة ب Root ال Mysql ، كيف اقوم باستعادة الباسورد او تغيره ؟

1/ في البداية ايقاف كل عمليات قواعد البيانات على السيرفر :
إقتباس:

killall -9 mysqld


إقتباس:

/etc/init.d/mysql stop


إقتباس:

kill 'cat /var/lib/mysql/File.pid'



file.pid = hostname.pid كمثال :
server.arabwebtalk.pid

## بداية فاصل ##
والله الي توقفت ال mysql نهائي
## نهاية فاصل ##

التاكد من انه لايوجد اي عملية mysql تعمل على السيرفر :

إقتباس:

ps -auxww | grep mysql



ماراح يظهر لك غير سطر واحد ، دليل ان كل العمليات الخاصه بال mysql توقفت .
بعد كذا راح تسوي ملف صغير نفترض ان اسمه :
/home/xd
اذن :
vi /home/xd
بعد كذا تحط فيه الامر هذا :
إقتباس:

SET PASSWORD FOR 'root'@'localhost' = PASSWORD('YourNewPasswd');


بعدين حفظ للملف
طبعا تستبدل كلمة
YourNewPasswd
بكلمة المرور الجديده ، طبعا بدون تشفير ، مثلا ابي الباسورد يكون AWT ، رايح يكون الامر :

إقتباس:

SET PASSWORD FOR 'root'@'localhost' = PASSWORD('AWT');

بعد كذا راح تكتب الامر هذا في الشل :
إقتباس:

/usr/bin/mysqld_safe --init-file=/home/xd



لاحظ امتداد الملف ، اذن ستعمل قواعد البيانات من جديد بعد تغير الباسورد الى باسوردك الجديد
ومن ثم تحذف الملف
إقتباس:

rm /hom/xd -rf



** لو تستخدم السي بنل ، تقدر من ال WHM وايضا لو نسيت الباسورد تقدر تطلع الناتج :
إقتباس:

cat /root/.my.cnf



لكن لو اتبعت الطريقة اعلاه ، لازم بعد كذا تسوي الامر هذا :
nano -w /root/.my.cnf
او اي محرر ثاني ،
وتغير الباسورد القديم بالباسورد الي اخترته ، وبعدها تطبق الامر :
إقتباس:

mysqladmin reload



س8 : كيف اقوم بعمل repair او optimize او analyze لقاعدة معينه او كل القواعد على السيرفر بالشل ؟

لعمل ريبير لقاعدة معينة :
إقتباس:

/usr/bin/mysqlcheck -r --databases



لعمل ريبير لكل القواعد في السيرفر :

إقتباس:

/usr/bin/mysqlcheck -r --all-databases



لعمل ابتومياز لقاعدة معينة :

إقتباس:

/usr/bin/mysqlcheck -o --databases



لعمل ابتومايز لكل القواعد :

إقتباس:

/usr/bin/mysqlcheck -o --all-databases




في النهاية :
انا اتبعت في الشرح طريقة معقده ، والا كان هناك اوامر اخرى يمكن تطبيقها مثل Mysqlaccess و GRANT في ال Mysql شل ، ولكن كل الغاية في فهم الطريقة التي تعمل بها قواعد البيانات ،

ملاحظة :
كل الاوامر الي كتبت اعلاه يبي لك ، تفتح ملف نصي وتقراها من اليسار الى اليمين CTRL + Shift " اليسار " .

اخر تعديل في الموضوع :
كانت بتاريخ 11/8/1426 هـ
صادق التحايا ،
علي حمد .






التوقيع
علي حمد
ابعاد المعلومات لخدمات الويب المتكاملة


آخر تعديل بواسطة Ali Hamad ، 14-09-2005 الساعة 08:49 PM.
 



خيارات الموضوع
طريقة العرض

قوانين المشاركة
لا يمكنك إضافة موضوع جديد
لا يمكنك الرد على المواضيع
لا يمكنك إضافة مرفقات
لا يمكنك تعديل مشاركاتك

كود vB متاح
كود [IMG] متاح
كود HTML مغلق
إنتقل إلى

مواضيع مشابهة
الموضوع الكاتب القسم مشاركة آخر مشاركة
مطلوب شرخ كيفية التعامل مع سكريبت phpAdsNew-2.0.8 dlala4arab تطويرالمواقع 2 27-02-2007 08:01 PM
حصريا: شرح كيفية التحويل من منتدى php الى vb مجد المصرى تطويرالمواقع 2 04-01-2007 05:41 PM
أريد طريقة نقل المواقع من سيرفر لسيرفر من خلال ال Shell تلي هوست إدارة وتشغيل السيرفرات 1 25-08-2006 07:09 AM
كيفية التعامل مع مشاكل العميل ريونة إدارة وتشغيل السيرفرات 13 11-07-2006 06:29 PM
أساسيات التعامل مع mysql من خلال الphp الحاج متولى تبادل خبرات البرمجة 5 23-06-2006 07:13 PM


جميع الأوقات بتوقيت مكة المكرمة. الساعة الآن » 07:40 AM.

Powered by vBulletin
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


 
 »  خدمات البرمجة   »  رئيسية الدليل
  »  خدمات التصميم   »  الأمن والحماية
  »  الدعاية والتسويق
  »  الدعم والتطوير
  »  الشركات الرسمية
  »  حجز دومينات
  »  خدمات الإستضافة
 
 
  »  مكتبة الإستايلات   »  رئيسية المكتبة
  »  أكواد برمجية   »  أدوات الويب ماسترز
  »  مكتبة الهاكات   »  أدوات المصممين
  »  سكربتات متنوعة
  »  مجلات إلكترونية
  »  بلوكات متنوعة
  »  ثيمات مختلفة
 
 

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

   
 
 

للتواصل مع فريق عمل الويب العربي
يمكنك ذالك من خلال مركز الدعم والمساندة.

 الدعم الفني |  اعتماد العضويات |  قوانين الإنتساب |  إتفاقية الإستخدام |  أهداف الويب العربي |  دليل الشركات |  مكتبة الويب |  صحيفة الويب العربي |  الرئيسية