+ الرد على الموضوع
النتائج 1 إلى 4 من 4
  1. #1
    دكتور كمال محمد has much to be proud of دكتور كمال محمد has much to be proud of دكتور كمال محمد has much to be proud of دكتور كمال محمد has much to be proud of دكتور كمال محمد has much to be proud of دكتور كمال محمد has much to be proud of دكتور كمال محمد has much to be proud of دكتور كمال محمد has much to be proud of الصورة الرمزية دكتور كمال محمد
    تاريخ التسجيل
    05 / 06 / 2008
    الدولة
    مصر و الاردن
    العمر
    46
    المشاركات
    158
    معدل تقييم المستوى
    461

    Exll كيفية التعامل مع ال Mysql باستخدام ال Shell ((هااااااااااام))



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


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


    رمز PHP:


    كود PHP:
    /usr/bin/mysqladmin creat DATABASENAME 



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

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


    رمز PHP:


    كود PHP:
    /usr/bin/mysqladmin creat Ali_xD 




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

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

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


    رمز PHP:

    كود PHP:
     cat /root/.my.cnf 


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

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


    رمز PHP:


    كود PHP:
     mysql -uroot -


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

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


    رمز PHP:


    كود PHP:
     use mysql


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


    رمز PHP:


    كود PHP:
    SELECT PASSWORD('AliHamad'); 




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

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

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


    رمز PHP:


    كود PHP:
     INSERT INTO user (HostUserPasswordVALUES ('localhost''Ali_xD''5428fa3b0b637ab8'); 


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

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


    رمز PHP:

    كود PHP:
     use mysql


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

    رمز PHP:


    كود PHP:
     INSERT INTO db (HostDbUserSelect_privInsert_privUpdate_privDelete_privCreate_privDrop_privGrant_privReferences_privIndex_privAlter_privCreate_tmp_table_privLock_tables_privVALUES ('localhost''Ali_xD''Ali_xD''Y''Y''Y''Y''Y''Y''n','Y''Y''Y''Y''Y'); 



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

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


    رمز PHP:

    كود PHP:
     mysqladmin reload 


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


    رمز PHP:

    كود PHP:
    mysql -uAli_xD -



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


    رمز PHP:

    كود PHP:
    use mysql



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


    رمز PHP:


    كود PHP:
    ERROR 1044Access denied for user'Ali_xD@localhost' to database 'mysql' 




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


    رمز PHP:


    كود PHP:
     use Ali_xD


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

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


    رمز PHP:


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

    mysql -uroot -




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


    رمز PHP:


    كود 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:


    كود PHP:
    mysql -uroot -



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


    رمز PHP:


    كود PHP:
    SET PASSWORD FOR 'Ali_xD'@'localhost' PASSWORD('YourNewPasswd'); 



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


    رمز PHP:


    كود PHP:
    SET PASSWORD FOR 'Ali_xD'@'localhost' PASSWORD('AWT'); 



    الان نقوم بالخروج من ال شل قواعد البيانات ،
    [gdwl]exit
    [/gdwl]
    ومن ثم لحفظ المتغيرات :


    رمز PHP:



    كود PHP:
     mysqladmin reload 


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


    رمز PHP:


    كود PHP:
     mkdir /backup/mysql 

    رمز PHP:


    كود PHP:
     chmod 0755 /backup/mysql 

    رمز PHP:


    كود PHP:
     vi /scripts/mysqlbackup 


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


    رمز PHP:

    كود PHP:
    #!/bin/bash 
    /usr/bin/rsync -arzgopu /var/lib/mysql /backup/mysql 



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


    رمز PHP:


    كود PHP:
     chmod 755 /scripts/mysqlbackup 


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


    رمز PHP:


    كود PHP:
     echo "0 */6 * * * /scripts/dbbackup" >> /var/spool/cron/root 

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


    رمز PHP:


    كود PHP:
    mysqlHotCopy or mysqldump ---all-database Any.sql 



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

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


    رمز PHP:


    كود PHP:
     killall -9 mysqld 

    رمز PHP:


    كود PHP:
    /etc/init.d/mysql stop 



    رمز PHP:


    كود PHP:
    kill 'cat /var/lib/mysql/File.pid' 




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

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

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


    رمز PHP:


    كود PHP:
    ps -auxww grep mysql 



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

    [gdwl]/home/xd
    [/gdwl]
    اذن :

    [gdwl]vi /home/xd[/gdwl]

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


    رمز PHP:


    كود PHP:
    SET PASSWORD FOR 'root'@'localhost' PASSWORD('YourNewPasswd'); 



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


    رمز PHP:


    كود PHP:
     SET PASSWORD FOR 'root'@'localhost' PASSWORD('AWT'); 


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


    رمز PHP:


    كود PHP:
    /usr/bin/mysqld_safe --init-file=/home/xd 



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


    رمز PHP:


    كود PHP:
    rm /hom/xd -rf 



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


    رمز PHP:


    كود PHP:
    cat /root/.my.cnf 



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


    رمز PHP:


    كود PHP:
    mysqladmin reload 


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

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


    رمز PHP:


    كود PHP:
     /usr/bin/mysqlcheck ---databases 

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


    رمز PHP:


    كود PHP:
    /usr/bin/mysqlcheck ---all-databases 



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


    رمز PHP:


    كود PHP:
    /usr/bin/mysqlcheck ---databases 




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


    رمز PHP:


    كود PHP:
    /usr/bin/mysqlcheck ---all-databases 



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

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

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

     
  2. #2
    المودة has a reputation beyond repute المودة has a reputation beyond repute المودة has a reputation beyond repute المودة has a reputation beyond repute المودة has a reputation beyond repute المودة has a reputation beyond repute المودة has a reputation beyond repute المودة has a reputation beyond repute المودة has a reputation beyond repute المودة has a reputation beyond repute المودة has a reputation beyond repute الصورة الرمزية المودة
    تاريخ التسجيل
    17 / 08 / 2004
    العمر
    32
    المشاركات
    20,806
    معدل تقييم المستوى
    26158

    افتراضي رد: كيفية التعامل مع ال Mysql باستخدام ال Shell ((هااااااااااام))

    شـكــ وبارك الله فيك ـــرا لك ... لك مني أجمل تحية .

     
  3. #3
    فات الأوان has a brilliant future فات الأوان has a brilliant future فات الأوان has a brilliant future فات الأوان has a brilliant future فات الأوان has a brilliant future فات الأوان has a brilliant future فات الأوان has a brilliant future فات الأوان has a brilliant future فات الأوان has a brilliant future فات الأوان has a brilliant future فات الأوان has a brilliant future
    تاريخ التسجيل
    07 / 04 / 2008
    الدولة
    السعودية
    المشاركات
    238
    معدل تقييم المستوى
    593

    افتراضي رد: كيفية التعامل مع ال Mysql باستخدام ال Shell ((هااااااااااام))

    موفق بإذن الله ... لك مني أجمل تحية .

     
  4. #4
    سوا 24 is a splendid one to behold سوا 24 is a splendid one to behold سوا 24 is a splendid one to behold سوا 24 is a splendid one to behold سوا 24 is a splendid one to behold سوا 24 is a splendid one to behold سوا 24 is a splendid one to behold سوا 24 is a splendid one to behold الصورة الرمزية سوا 24
    تاريخ التسجيل
    09 / 11 / 2007
    الدولة
    الوطن العربي
    العمر
    57
    المشاركات
    1,218
    معدل تقييم المستوى
    1510

    افتراضي رد: كيفية التعامل مع ال Mysql باستخدام ال Shell ((هااااااااااام))

    شكرا لك ويعطيك ألف عافية

    بارك الله بك

     

 
+ الرد على الموضوع

معلومات الموضوع

الأعضاء الذين يشاهدون هذا الموضوع

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

     

مواقع النشر (المفضلة)

مواقع النشر (المفضلة)

ضوابط المشاركة

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