PDA

View Full Version : سوال: پشتیبان گیری از دیتابیس



cnmeysam
جمعه 03 شهریور 1396, 20:50 عصر
سلام
توی جاوا چطوری میتونم از دیتابیسی که روی هاست هست (mysql) بک آپ گیرم؟
یعنی توی یه فرم مشخصات سرور رو بدم آدرس ذخیره دیتابیس رو بپرسه و دیتابیس رو توی مسیری که دادم دانلود کنه

cnmeysam
شنبه 04 شهریور 1396, 13:08 عصر
کسی بلد نیست یا راهی نداره تو جاوا برای این کار؟

vahid-p
شنبه 04 شهریور 1396, 20:40 عصر
اینکه کسی جواب نمیده تو این انجمن براتون جای تعجب نباشه، چون فعالیتش تقریبا به صفر میل میکنه. در نتیجه باید خودتون بیشتر سعی کنید از منابع انگلیسی موجود در اینترنت استفاده کنید. برنامه نویسی به زبان جاوا بدون مطالعه مطالب انگلیسی تقریبا امکان پذیر نیست.

اما...
چیزی که میخواید رو جاوا یا هر زبان دیگه ای براتون انجام نمیده. mysql خودش یه سری ابزارها داره. مثلا mysqldump برای بکاپ گیری استفاده میشه که فقط از طریق جاوا یا هر زبان دیگه ای میتونید اون رو فراخوانی کنید تا فایل رو ایجاد کنه (توسط Runtime.exec که در اصل مثل اجرا کردن دستور در command prompt ویندوز یا terminal لینوکس هست). از اونجایی که mysql به عنوان سرویس جدا از جاوا اجرا میشه، رو سیستم جدید باید تنظیم بشه. اگر همه چیز تنظیم باشه و با نوشتن mysqldump برنامه اجرا بشه راحت تو Runtime.exec هم همینو مینویسید. ولی اگر تنظیم نباشه بخواید مسیر فایل mysqldump رو بهش بدید سیستم به سیستم فرق میکنه.

در کل چنین چیزی رو سرچ بزنید: backup and restore mysql database using java
یا برای بهتر دونستن Runtime.exec لینک روبرو رو مطالعه کنید: https://www.tutorialspoint.com/java/lang/runtime_exec.htm

cnmeysam
شنبه 04 شهریور 1396, 21:03 عصر
دقیقا سوال من در همین مورده منم هرچی سرچ کردم و فیلم دانلود کردم با دامپ بک آپ گرفتن آموزش میداد میخواستم بدونم بدون اون مثلا مثل سی شارپ و اس کیوال سرور مستقیم نمیشه به دیتابیس متصل شد و بک آپ گرفت؟
دقیقا حق با شماست متاسفانه نمیدونم چرا توی سایت های فارسی به ندرت آموزشی برا جاوا هستش و کسی جوابی میده.
منم فقط توی یوتوب یا سایتهای انگلیسی همش میسرچم وقتی دیگه چیزی که میخوام پیدا نمیشه هم اونجا پست میذارم هم اینجا مزاحم شما میشم:خجالت:
کاش خودم بلد بودم باید چیکار کرد فعالیت انجمن رو بالا میبردیم باهم

vahid-p
شنبه 04 شهریور 1396, 21:37 عصر
نه راه دیگه ای نداره. البته یه راه نچندان خوب و اونم اینکه از کوئری select * into ... استفاده کنید ولی اگر اشتباه نکنم کل اطلاعات رو میخونه و در حافظه اصلی قرار میده و اگر دیتابیستون بزرگ باشه ممکنه به مشکل بربخوره.
در کل mysqldump هم راه خوبیه، به هر حال اگر بخواید رو یک کامپیوتر استفاده کنید لزوما نیاز به تنظیمات اولیه داره.

به زبانش هم بستگی نداره.

و آخرین راه اینکه اصلا از mysql استفاده نکنید. و به جاش از dbms هایی مثل h2 استفاده کنید که کلا بر مبنای جاوا نوشته شدن و درون برنامتون قرار میگیره و نیاز به هیچ تنظیمات اضافه ای نیست. قبلش سرچ کنید ببینید بکاپ گیریش به چه صورت هست.

موفق باشید