المساعد الشخصي الرقمي

مشاهدة النسخة كاملة : نسخ او استرجاع جدول محدد في قاعدة البيانات عن طريق Mysqldump



romaissa
11-02-2013, بتوقيت غرينيتش 02:23 AM
بسم الله الرحمن الرحيم


السلام عليكم ورحمة الله وبركاتة ..




اليوم سيكون درس مفصلنا حول شرح كيفية استعادة جدول واحد فقط من قاعدة بيانات كاملة

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

وذلك بإستخدام اداة mysqldump utility لأصحاب السيرفر SERVERات من ناحية قواعد البيانات databases DataBases


الخطوات :


النسخ الإحتياطي يتم بتطبيق الآمر التالي



رمز PHP:

<code style="white-space:nowrap"> <code> mysqldump --user NAME --password=PASSWORD dbNAME TABLENAME \
> /tmp/customers.sql
</code> </code>




التوضيح :

استبدل NAME باسم المستخدم لقاعدة البيانات واستبدل PASSWORD بكلمة المرور لقاعدة البيانات

واستبدل dbNAME بأسم قاعدة البيانات المستهدفة


واستبدل TABLENAME بأسم جدول قاعدة البيانات المراد

واستبدل /tmp/customers.sql إلى المسار الذي تريدة والى القاعدة الذي تود انشاء النسخه بداخلها
مثال /home/customer.sql




اما الآن نأتي لطريقة إسترجاع النسخ الإحتياطي وتتم بتطبيق الآمر التالي


رمز PHP:

<code style="white-space:nowrap"> <code> mysql --u NAME --password=PASSWORD newdbNAME < customers.sql
</code> </code>




التوضيح :

استبدل NAME باسم المستخدم لقاعدة البيانات واستبدل PASSWORD بكلمة المرور لقاعدة البيانات

واستبدل newdbNAME بأسم قاعدة البيانات الجديدة


واستبدل customer.sql بأسم جدول قاعدة البيانات المراد استرجاعة


-----------------------------

وللإضافة قد وضعت هذة الطرق التالية ايضاً لمن اراد زرع قاعدة بيانات قديمة داخل قاعدة بيانات جديدة لإني شاهدت استفسارات حول هذا الموضوع مؤخراً


وايضاً لمن يريد معرفة شرح كيفية زرع جدول واحد فقط من قاعدة البيانات الموجودة لديك

نبداء بأمر زراعة قاعدة بيانات كاملة عن طريق التالي

امر زرع قاعدة بيانات هو كالتالي من خلال الشل
رمز PHP:

<code style="white-space:nowrap"> <code> mysql -uNAME -pPASSWORD New_db < OLD_db.sql
</code> </code>



علماً بإن NAME تعني اسم مستخدم قاعدة البيانات الجديدة الخاصة بك
وPASSWORD يعني كلمة المرور لإسم مستخدمة قاعدة البيانات الجديدة الخاصة بك
وNew_db تعني اسم قاعدة البيانات الجديدة الخاصة بك
وOLD_db.sql تستبدله بأسم قاعدة البيانات القديمة او المراد زرعها تحديداً


مع ملاحظة ان قاعدة البيانات المراد زرعها يجب ان تكون بإمتداد sql.




الطريقة الثانية وهي لزراعة جدول واحد فقط انت تحدده لزراعته لديك ... في قاعدة جديدة


نفذ الامر التالي لنسخ قاعدة البيانات أولاً

رمز PHP:

<code style="white-space:nowrap"> <code> mysqldump Old_db > New_db.sql
</code> </code>


ومن ثم نفذ الآمر التالي لزرع الجدول الذي تريد زرعه

رمز PHP:

<code style="white-space:nowrap"> <code> mysql Old_db < table.sql
</code> </code>


استبدل Old_db باسم قاعدة البيانات المركبة لديك مسبقاً والمستهدفة
استبدل New_db.sql باسم قاعدة بيانات التي تود اضافة نسخة من القاعدة الأولى إليها
استبدل table.sql بإسم الجدول المراد زرعه







ملاحظة:




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





البيانات المدرجةادناه نعد (اختيارية) لمن يواجه اي مشاكل او صعوبات في عملية اصلاح قاعدة البيانات


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

رمز PHP:

<code style="white-space:nowrap"> <code> /usr/bin/mysqlcheck -o --all-databases
</code> </code>

ثم

رمز PHP:

<code style="white-space:nowrap"> <code> /usr/bin/mysqlcheck -r --all-databases
</code> </code>

ثم

رمز PHP:

<code style="white-space:nowrap"> <code> /scripts/restartsrv_mysql
</code> </code>






http://www.7gz.net/3478779-7gznet.gif







وآمل ان اكون قد وفقت


لأي استفسار نحن بالخدمة ..
دمتم بحفظ الله ورعايتة..




https://fbcdn-sphotos-d-a.akamaihd.net/hphotos-ak-ash4/482113_236967293114455_1193518507_n.png (http://www.dzbatna.com)
©المشاركات المنشورة تعبر عن وجهة نظر صاحبها فقط، ولا تُعبّر بأي شكل من الأشكال عن وجهة نظر إدارة المنتدى (http://www.dzbatna.com)©

استعمل مربع البحث في الاسفل لمزيد من المواضيع


سريع للبحث عن مواضيع في المنتدى