چگونه می توان با BigDump دیتابیس Restore در MySQL / MariaDB نمود؟

مقدمه:

 
همانطور که می دانید Import بک آپ دیتابیس MySQL از طریق PHPMyAdmin دارای محدودیت هایی می باشد. این محدودیت ها از تنظیمات PHP در محدودیت آپلود و یا مدت زمان زنده ماندن یک پردازش که اجتناب نا پذیر است ناشی می شود. از طرف دیگر کاربرد روز افزون وب سایت های پویا و در کنار آن دیتابیس MySQL به عنوان یک سیستم مدیریت پایگاه داده قدرتمند باعث شده تا امروزه با دیتابیس های حجیم مواجه شویم.
طبیعتا یکی از نیاز های وب مستر ها امکان ایجاد بک آپ از دیتابیس خود و امکان باز گرداندن آن در موقع مقتضی می باشد. اهمیت این موضوع با توجه به اینکه دیتابیس یک سایت، نگهدارنده مهمترین بخش داده ای آن وب سایت می باشد بیشتر ملموس می شود.
برای برون رفت از این مشکل راه حلی ساده و کار آمد وجود دارد که با انجام مراحلی ساده Import هر دیتابیس MySQL ای با هر حجمی امکان پذیر می باشد.
مراحل انجام این کار به چهار مرحله اصلی تقسیم می شود:
  1. تهیه نرم افزار Big Dump.
  2. آپلود نرم افزار Big Dump و فایل بک آپ دیتابیس مورد نظر.
  3. اعمال تنظیمات بر روی فایل Big Dump.
  4. اجرای نرم افزار و Import دیتابیس.
 

تهیه نرم افزار Big Dump:

 
برای تهیه فایل Big Dump تنها کافیست به آدرس زیر رفته و مطابق تصویر فایل bigdump.php را تهیه فرمایید. این فایل با ایجاد فاصله های زمانی در هنگام ورود اطلاعات به دیتابیس باعث می شود تا محدودیت های موجود باعث اختلال در کار شما نشود.
 
 
 

آپلود نرم افزار Big Dump و فایل بک آپ دیتابیس مورد نظر:

 
با توجه به محدودیت آپلود از طریق کنترل پنل سایت، برای آپلود فایل بک آپ دیتابیس و فایل bigdump.php، پیشنهاد می شود از نرم افزار های مدیریت FTP استفاده شود. برای آپلود نمودن این دو فایل از طریق این گونه نرم افزار ها می توانید از لینک راهنمای زیر کمک بگیرید:
 
 
فایل bigdump.php را می بایست در پوشه wwwroot آپلود کنیم تا قابلیت اجرا از طریق مرورگر را داشته باشد و فایل دیتابیس هم باید در مسیری که فایل bigdump.php آپلود می شود قرار گیرد. بدین منظور ما در پوشه wwwroot یک پوشه با نام BigDump ایجاد کرده و فایلها ی مورد نظر را داخل آن آپلود نمودیم.
 
 
 
برای اینکه آپلود فایل دیتابیس سریع تر انجام شود می توان فایل مورد نظر را با فرمت ZIP فشرده نمود و پس از آپلود شدن آن را از حالت فشرده خارج کرد.
 
 
 

اعمال تنظیمات بر روی فایل Big Dump:

 
پس از آپلود فایلها می بایست دیتابیس مورد نظر را ایجاد کنیم. دقت فرمایید چنانچه دیتابیس از قبل وجود دارد می بایست خالی باشد. چنانچه اطلاعاتی از قبل داخل آن قرار دارد نسبت به حذف آن اقدام فرمایید.
برای ایجاد دیتابیس و کاربر مرتبط به آن می توانید از لینک های زیر استفاده نمایید:
 
کاربر سرویسهای 2008/2012 می باشید:    http://support.iranhost.com/kb/a458/article.aspx
کاربر سرویسهای 2003 می باشید:            http://support.iranhost.com/kb/a400/article.aspx
 
در مرحله بعد می بایست فایل bigdump.php را ویرایش نموده و اطلاعات دیتابیس را در آن وارد نمایید.
برای ویرایش یک فایل با ساختار متنی در سرویسهای 2008/2012 از آیکون  استفاده کنید و در سرویسهای 2003 فقط کافیست بر روی نام فایل کلیک نمایید.
چنانچه برای ویرایش این فایل نیاز به راهنمایی دارید می توانید از لینک های زیر کمک بگیری:
 
کاربر سرویسهای 2008/2012 می باشید:                http://support.iranhost.com/kb/a498/article.aspx
کاربر سرویسهای 2003 می باشید:                http://support.iranhost.com/kb/a1065/file-manager-.aspx
 
پس از باز نمودن فایل bigdump.php خطوط مربوط به تنظیمات Database configuration را با مشخصات دیتابیسی که خودتان ایجاد کرده اید پر می کنید.
 
 
 
به عنوان مثال به مقادیر زیر دقت کنید:
 
 
// Database configuration
آدرس IP دیتابیس (نحوه پیدا کردن آن در پایین شرح داده شده)
$db_server   = '67.205.74.175';
نام دیتابیس
$db_name     = 'YourDB';
نام کاربری دیتابیس
$db_username = 'YourUser';
پسورد دیتابیس
$db_password = 'YourP@ssW0rd';
 
 
برای یافتن آدرس IP دیتابیس می توانید از لینکهای راهنمای زیر استفاده کنید:
 
کاربر سرویسهای 2008/2012 می باشید:        http://support.iranhost.com/kb/a514/article.aspx
کاربر سرویسهای 2003 می باشید:                http://support.iranhost.com/kb/a517/article.aspx
 

اجرای نرم افزار و Import دیتابیس:

 
برای اجرای فایل bigdump.php می بایست آدرس سایت خود را به همراه نام پوشه ای که فایل درون آن قرار دارد و نام کامل فایل پشت سرهم در مرور گر نوشته و هر قسمت را با یک / از هم جدا کنیم.
 
yourdomain.com/bigdump/bigdump.php
 
 
 
همانطور که در تصویر فوق ملاحظه می فرمایید خود نرم افزار، فایل دیتابیس را تشخیص داده و با فشردن عبارت Start Import می توان عملیات Import دیتابیس را آغاز نمود.
 
 

عیب یابی خطا های احتمالی:

 
  1. خطای نام دیتابیس: نام دیتابیس فعلی با نام دیتابیس قبلی باید یکی باشد در غیر این صورت با ویرایش فایل دیتابیس می توانید خط مربوط به نام دیتابیس را تغییر دهید. این ویرایش می بایست بر روی کامپیوتر لوکالتان انجام شود چون ویرایش فایل دیتابیس بر روی سرور به دلیل حجم بالا میسر نیست.
     
  2. خطای کاربر دیتابیس: نام کاربری دیتابیس جدید با نام کاربری دیتابیس قبلی باید یکی باشد. در غیر این صورت می بایست مقدار آن را با ویرایش فایل دیتابیس تغییر دهید.
     
  3. خطای مقدار طولانی فیلدهای جداول: چنانچه مقادیر فیلد های جداول خیلی طولانی باشد BigDump قادر به Import آنها نخواهد بود. در بیشتر موراد مقادیر فارسی که با Encoding صحیح ذخیره نشده اند باعث این مشکل می شوند. در این صورت به وسیله یک ادیتور کد مانند NotePad++ می توانید فایل دیتابیس را ویرایش کرده و Encoding آن را تغییر داده تا مقادیر فارسی بصورت درست نمایش داده شوند. در غیر این صورت آن مقادیری که طولانی هستند را باید ویرایش کرده و کوتاه نمود.
     
  4. خطای آپلود فایل: اگر چنانچه می خواهید به وسیله BigDump فایل دیتابیس خود را آپلود کنید در نظر داشته باشید که اولا پوشه ای که فایل BigDump در آن قرار دارد باید دسترسی Write هم داشته باشد ثانیا آپلود از طریق BigDump نه تنها کند تر از FTP است بلکه محدودیت های آپلود را نیز دارد.
     
  5. خطای Timeout: چنانچه با این خطا مواجه شدید می توانید فایل bigdump.php را ویرایش کرده و مقدار $linespersession را تغییر دهید.
     
  6. خطای MySQL OverRun: چنانچه با این خطا مواجه شدید می توانید فایل bigdump.php را ویرایش کرده و مقدار متغییر $delaypersession را تغییر داده تا ورود اطلاعات در فاصله زمانی های مشخص و با وقفه انجام شود.
     
  7. خطای Encoding: چنانچه فایل بک آپ دیتابیس شما Encoding ای خاص دارد می توانید مقدار آن را با ویرایش فایل bigdump.php و اعمال تغییر در متغییر $db_connection_charset مشخص کنید.

بازخورد

سلام
همه تنظیمات را طبق راهنمایی بالا انجام دادم خطای زیر ایجادشد.همه هوارد رو چک کردم درسته ولی بازم این پیام می یاد ؛اگه میشه راهنمایی بفرمایید

Error at the line 64: (1, 1, 'mehri', '2015-12-04 17:04:21', '2.186.18.*');

Query: --
--
INSERT INTO `iq2fg8naiowps_failed_logins` (`id`, `user_id`, `user_login`, `failed_login_date`, `login_attempt_ip`) VALUES
(1, 1, 'mehri', '2015-12-04 17:04:21', '2.186.18.*')

MySQL: Duplicate entry '1' for key 'PRIMARY'

Stopped on error

mehri rahimpour (12/4/2015 در 6:34 PM)