PDA

View Full Version : سوال: چگونه می تونم از بانک اطلاعاتیم بک آپ بگیرم .



messina
جمعه 22 آبان 1388, 23:07 عصر
1- چگونه می تونم از بانک اطلاعاتیم بک آپ بگیرم .
2- آیا می شود بک آپ بانک را در درایوی غیر از درایوی که خود بانک قرار دارد ذخیره کرد؟

امیـرحسین
شنبه 23 آبان 1388, 00:38 صبح
اگر یه سرچ بکنید، کلی اسکریپت آماده پیدا می کنید.
شیوه کارشون به این ترتیبه که اول لیست جدولها رو میگیرند.
برای هر جدول، اطلاعات دقیقش رو میگیرند.
دستور CREATE TABLE رو با استفاده از اطلاعات جدول تشکیل میدهد.
و با fetch کردن هر سطر، اطلاعاتش رو به شکل INSERT INTO ذخیره می کنند.
به این ترتیب تمام کدهای SQL لازم برای ساختن یه دیتابیس عین دیتابیس موجود ساخته میشه.

messina
شنبه 23 آبان 1388, 00:43 صبح
با این شرایط بک اپ هم همونجایی (مکانی که خود مای اسکیوال نصب شده) ذخیره میشه که خود جداول هم هستند
یعنی نمی شه بک اپ جای دیگری ذخیره بشه؟

امیـرحسین
شنبه 23 آبان 1388, 00:46 صبح
منظورتون رو متوجه نمیشم.
شما می تونید این دستورات رو در یک فایل ذخیره کنید و این فایل رو هرجای سرور قرار بدید.
منظورتون از درایو دیگه چیه؟

messina
شنبه 23 آبان 1388, 01:06 صبح
سوالم اینه که: بانک اطلاعاتی در فولدر data مای اسکیوال قرار داره.
با این دستوراتی که شما نوشتین فکر میکنم بازم بک اپ بانکم هم در همین مسیر یعنی داخل فولدر bin قرار می گیره
اگه درست می گم ایا روشی وجود داره که بک اپ بانک با خودش در یک مکان قرار نگیره؟
البته بدون اینکه کسی اونارو خودش جای دیگه ذخیره کنه. یعنی بک اپ ها خودشون در مسیر دیگه ذخیره بشن.

امیـرحسین
شنبه 23 آبان 1388, 13:47 عصر
ببینید شما به روشی که من گفتم دقت نکردید.
با توابع MySQL میشه اطلاعات جدول رو بدست آورد که اسمش چیه، چند تا فیلد داره، هر فیلدش از چه نوعیه، چطوری ایندکس میشه و غیره. این همون اطلاعاتی هست که ما برای ساختن جدول از طریق CREATE TABLE نیاز داریم.
یعنی با این کار ما اطلاعاتی از نوع کدهای SQL داریم تا بتونیم جدولی عین جدول اصلی بسازیم.
حالا این دستورات SQL رو میشه هرکاری کرد. میشه چاپ کرد، میشه تو یه فایل قرار داد و اون فایل رو هرجای کپی کرد. تو این روش خود بخود فایلی ساخته نمیشه و هیچ جا ذخیره نمیشه از جمله شاخه اصلی mysql.
تو این روش ما داریم اطلاعات دیتابیس رو رونویسی می کنیم تا بتونیم یکی دیگه ازش بسازیم.

توی phpmyadmin قسمت export ، یه دیتابیس یا جدول رو Export کنید. خروجی ما دقیقا مشابه خروجی هست که phpmyadmin میده یعنی یا کدهای sql یا یه فایل متنی حاوی این کدها...

messina
دوشنبه 25 آبان 1388, 03:42 صبح
ببینید من یه سایت درست کردم میخوام یک کلید در صفحه مدیر قرار بدم که هر زمان اونو فشار داد از تمام بانکش بک اپ بگیره و در جایی ذخیره کنه
لطفا چون من خیلی وارد نیستم کمی ساده تر منو راهنمایی کنین که چیکار کنم.

messina
جمعه 29 آبان 1388, 01:38 صبح
می خوام سایتم را روی شبکه هم قرار دهم
پس هاستی در کار نیست که این کار را به او محول کنم
حتما دستوراتی برای بک اپ گیری در مای اسکیوال هست که بتواند این کار را انجام دهد
اگه می شه و کسی از این دستورات اطلاعی دارد لطفا کمک کند.

eliTive
شنبه 30 آبان 1388, 22:03 عصر
سلام دوست عزیز ، این دستور رو امتحان کن :


SELECT * INTO OUTFILE '$backupFile' FROM $tableName

این هم برای خوندنش :


LOAD DATA INFILE 'backupFile' INTO TABLE $tableName

s_salavati2002
یک شنبه 01 آذر 1388, 13:16 عصر
البته دستوراتی که دوستمون معرفی کرد تو همه سرورها باز نیست و خیلیا می بندنش!

ArtMiz
دوشنبه 02 آذر 1388, 14:02 عصر
http://www.php-mysql-tutorial.com/wikis/mysql-tutorials/using-php-to-backup-mysql-databases.aspx