Untitled 1
 
m1 m
شبكة نساء الجنة الإسلامية
عدد الضغطات : 1,992
عدد الضغطات : 2,303


awlstyle-2 awlstyle-3 awlstyle-1
awlstyle-5
العودة   |: معهد أول ستايل :| > منتدي تطوير المواقع > منتدي تطوير المواقع
awlstyle-4
awlstyle-7 awlstyle-6
awlstyle-9 awlstyle-10 awlstyle-8


إضافة رد
 
أدوات الموضوع انواع عرض الموضوع
awlstyle-2 awlstyle-3 awlstyle-1
awlstyle-5
قديم 31-05-2008, 07:41 AM   #1 (permalink)
:: مطرود من قبل الإدارة ::
Icon15f كيفية التعامل مع ال Mysql باستخدام ال Shell

بسم الله الرحمن الرحيم


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


رمز PHP:
/usr/bin/mysqladmin creat DATABASENAME

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

اذن سيكون الامر :


رمز PHP:
/usr/bin/mysqladmin creat Ali_xD

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

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

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


رمز PHP:
cat /root/.my.cnf

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

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


رمز PHP:
mysql -uroot -p

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

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


رمز PHP:
use mysql;

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


رمز PHP:
SELECT PASSWORD('AliHamad');

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

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

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


رمز PHP:
INSERT INTO user (Host, User, Password) VALUES ('localhost', 'Ali_xD', '5428fa3b0b637ab8');


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

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


رمز PHP:
use mysql;

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

رمز PHP:
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');


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

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


رمز PHP:
mysqladmin reload

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


رمز PHP:
mysql -uAli_xD -p

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


رمز PHP:
use mysql;

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


رمز PHP:
ERROR 1044: Access denied for user: 'Ali_xD@localhost' to database 'mysql'

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


رمز PHP:
use Ali_xD;

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

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


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

mysql -uroot -
p

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


رمز PHP:
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: هل بالامكان تغيير الباسورد الخاص باسم المستخدم ؟

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


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


رمز PHP:
mysql -uroot -p

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


رمز PHP:
SET PASSWORD FOR 'Ali_xD'@'localhost' = PASSWORD('YourNewPasswd');

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


رمز PHP:
SET PASSWORD FOR 'Ali_xD'@'localhost' = PASSWORD('AWT');

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

ومن ثم لحفظ المتغيرات :


رمز PHP:
mysqladmin reload

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


رمز PHP:
mkdir /backup/mysql

رمز PHP:
chmod 0755 /backup/mysql

رمز PHP:
vi /scripts/mysqlbackup


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


رمز PHP:
#!/bin/bash
/usr/bin/rsync -arzgopu /var/lib/mysql /backup/
mysql

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


رمز PHP:
chmod 755 /scripts/mysqlbackup


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


رمز PHP:
echo "0 */6 * * * /scripts/dbbackup" >> /var/spool/cron/root

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


رمز PHP:
mysqlHotCopy or mysqldump -u - p --all-database > Any.sql

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

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


رمز PHP:
killall -9 mysqld

رمز PHP:
/etc/init.d/mysql stop

رمز PHP:
kill 'cat /var/lib/mysql/File.pid'


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

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

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


رمز PHP:
ps -auxww | grep mysql

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


رمز PHP:
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('YourNewPasswd');

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


رمز PHP:
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('AWT');


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


رمز PHP:
/usr/bin/mysqld_safe --init-file=/home/xd

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


رمز PHP:
rm /hom/xd -rf

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


رمز PHP:
cat /root/.my.cnf

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


رمز PHP:
mysqladmin reload

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

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


رمز PHP:
/usr/bin/mysqlcheck -r --databases

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


رمز PHP:
/usr/bin/mysqlcheck -r --all-databases

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


رمز PHP:
/usr/bin/mysqlcheck -o --databases


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


رمز PHP:
/usr/bin/mysqlcheck -o --all-databases

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

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

اخوكم
دكتور/ كمال محمد محمد

 

الموضوع الأصلي : كيفية التعامل مع ال Mysql باستخدام ال Shell     -||-     المصدر : |: معهد أول ستايل :|     -||-     الكاتب : op4host




   
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
رد مع اقتباس
awlstyle-4
awlstyle-7 awlstyle-6
awlstyle-9 awlstyle-10 awlstyle-8

إضافة رد
Submit Thread >  Submit to AddThisTo Submit to Digg Submit to Reddit Submit to Furl Submit to Del.icio.us Submit to Google Submit to Yahoo! This Submit to Technorati Submit to StumbleUpon Submit to Spurl Submit to Netscape  < Submit Thread


الذين يشاهدون محتوى الموضوع الآن : 1 ( الأعضاء 0 والزوار 1)
 
أدوات الموضوع
انواع عرض الموضوع

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

BB code is متاحة
كود [IMG] متاحة
كود HTML معطلة
Trackbacks are متاحة
Pingbacks are متاحة
Refbacks are متاحة

الانتقال السريع


الساعة الآن 09:05 AM.

Powered by vBulletin® Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.2.0 ,
Ads Management Version 3.0.0 by Saeed Al-Atwi

a.d - i.s.s.w


Alexa Group By SudanSon

ضع ايميلك ليصلك كل جديد في شبكتنا:

Delivered by FeedBurner

خريطة الموقع

معاً لعهد جديد بالداخلية ولنرجع مصرنا آمنة 

FOOTER-2
FOOTER-1

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59