آموزش انتقال بانک‌های اطلاعاتی سنگین MySQL

انتقال بانک‌های اطلاعاتی سنگین MySQL

بکاپ mysql هاستینگ

شاید برایتان اتفاق افتاده باشد که بخواهید هاست خود را عوض کنید.

در این هنگام باید دیتابیس خود را بر روی سرور دیگر پیاده کنید.

اما اگر حجم دیتابیس شما بالا باشد کارتان بسیار سخت خواهد شد.

کامیت سرور در این مطلب می‌خواهد جایگزینی برای FTP معرفی کند که سرعت آن بسیار بیشتر از آن است.

جایگزین ما پروتکل SSH است. در ابتدا دیتابیس را فشرده می‌کنیم و با استفاده از این پروتکل با سرعت و راحتی دیتابیس را انتقال می‌دهیم.

انتقال بانک اطلاعاتی با SSH

در آغاز کار باید بدانید که برای کار کردن با My SQL چند مشکل داریم: یکی از آن‌ها کار کردن با php My Admin است.

زیرا این نرم افزار در برخورد با فایل‌های حجیم و import و export کردن آن‌ها محدودیت‌هایی دارد.

هنگامی که بخواهید بانک اطلاعاتی خود را به هاست دیگری انتقال بدهید، اولین راه خروجی گرفتن از دیتابیس و انتقال از طریق FTP است.

و این مسئله به خاطر نبود گرینه بازگردانی (Restore) در php MyAdmin مقصد است.

حال اگر بخواهید اطلاعات شما با سرعت و امنیت بیشتر انتقال یابند بهتر است از پشتیبان سرور خود بخواهید که اطلاعات از طریق SSH انتقال یابند.

برای گرفتن پشتیبان از دیتابیس کافیست دستور زیر اجرا بشود:

mysqldump -p -u oldusername olddatabase > dbname.sql

در دستور بالا به جای oldusername نام کاربری بانک اطلاعاتی و به جای olddatabase نام دیتابیس را جایگزین کنید.

پس از اجرای این دستور رمز عبور بانک اطلاعاتی از شما درخواست می‌شود.

بعد از اینکه رمز عبور را وارد کردید دیتابیس شما در فایلی به نام dbname.sql ذخیره خواهد شد.

برای دانلود این فایل در سرور مقصد کافیست دسترسی (Permission) فایل را تغییر دهید و با استفاده از دستور Wget (در سرور مقصد) آن را دانلود کنید.

برخی مشکلات انتقال بانک اطلاعاتی mysql

مشکل دیگری نیز وجود دارد و آن وارد کردن بانک اطلاعاتی از طریق phpMyAdmin است.

حداکثر حجمی که برای آپلود دیتابیس وجود دارد ۲ مگابایت است و اگر حجم فایل شما بیش از این مقدار باشد نمی‌توانید آن را آپلود کنید.

در هاست‌های اشتراکی، ممکن است برای import کردن فایل‌ها از راه FTP، در مکان مورد نظر محدودیت داشته باشید.

حال اگر شما محدودیت‌هایی برای انجام این کار داشته باشید می‌توانید از این طریق بانک اطلاعاتی خود را import کنید:

این بار هم با SSh کار خود را انجام می‌دهیم. به مکانی که قصد دارید اطلاعات در آن‌جا بازگردانی شوند رفته و دستور زیر را اجرا کنید:

mysql -p -u newusername newdatabase < dbname.sql

پس اجرای دستور بالا رمز عبور دیتابیس از شما درخواست می‌شود که بعد وارد کردن آن، فایل با هر حجمی در مکان مورد نظر import خواهد شد.