نسخ قاعدة الى اخرى عن طريق mysqldump







السلام عليكم ومازلنا مع بعض الدروس الخفيفه ودرسنا الان هو امر واحد يمكننا من استنساخ قاعده الى اخرى بطريقة سهله فكثيراً مانحتاج لعمل نسخة من القاعده الى اخرى لعمل نسخة احتياطيه اثناء الترقيات او اجراء بعض التجارب بعيداً عن القاعدة الاصلية وتلف البيانات الموجوده بها حال وجود اى خطأ لنفترض وجود قاعدتين الان هما

الاصلية databaseorginal

لها يوزر يمتلكها باسم mohamed وكلمة المرور 123456

المستنسخة ( المراد النسخ اليها )

databasecopy لها يوزر يمتلكها باسم ahmed وكلمة مرور 123123 ونستخدم الامر التالى

رمز Code:
 mysqldump -u mohamed -p123456 databaseorginal | mysql -u ahmed -p123123 databasecopy

سيفكر البعض بان الامر مألوف بعض الشىء !

نعم فهو بالفعل اختصار لامرين معروفين فى واحد الاول

امر سحب نسخة من القاعده او كما يطلق عليها dump

mysqldump -u mohamed -p123456 databaseorginal > databaseorginal .sql

وبهذا استخرجنا محتويات القاعده فى ملف باسم databaseorginal .sql

والامر الاخر هو عمل استرجاع للقاعده كالتالى

mysql -u ahmed -p123123 databasecopy < databaseorginal .sql

تذكر "-u" يتلوها مسافه ثم اسم اليوزر

تذكر ايضا "-p" يتلوها كلمة المرور مباشرتاً دون مسافة

وبدلاً من استخراج القاعده فى ملف اولاً ثم عمل استرجاع له فى اخرى فقط استخدمنا " | " او " pipe " لتمرير مخرجات الامر الاول الى الثانى مباشرتاً

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


Mohammed Mohsen : http://www.traidnt.net/vb/traidnt2529160