اگر در هنگام ریستور کردن بکاپ دایرکت ادمین با پیام خطایی مشابه زیر مواجه شدید نگران نباشید ، این مشکل به سادگی قابل حل است :
Unable to restore database databasename.sql to databasename : ERROR 1153 (08S01) at line X in file: ‘/home/bbsmyx/backups/backup/databasename.sql’: Got a packet bigger than ‘max_allowed_packet’ bytes
دایرکت ادمین بر خلاف cPanel و WHM برای ریستور کردن دیتابیس های فایل بکاپ ساخته شده توسط دایرکت ادمین ، مستقیما با کامند mysql -u خود MySQL سرور کار میکند . بنا بر این کلیه تنظیمات MySQL باید برای ریستور شدن کامل و بدون مشکل دیتابیس مذکور آماده باشد . ارور فوق نشان دهنده بزرگ تر بودن پکت های دیتابیس در حال ریستور شدن از مقدار مشخص شده پارامتر max_allowed_packet درفایل my.cnf واقع در مسیر etc/ لینوکس شما است .
زیاد کردن مقدار max_allowed_packet در دایرکت ادمین
برای حل این مشکل با کمک دستور vi یا nano در محیط ssh لینوکس فایل /etc/my.cnf را ادیت کرده و مقدار max_allowed_packet را بر اساس نیازتان تغییر دهید . برای دیتابیس های بزرگ تر از ۲۰۰ مگابایت حد اقل مقدار این پارامتر را ۳۲ مگابایت قرار دهید :
max_allowed_packet = 32M
حالا با کمک دستور :wq تغییرات را در فایل مذکور ذخیره کرده و سپس سرویس mysqld را مجددا راه اندازی کنید :
service mysqld restart
حالا مجددا اقدام به ریستور کردن بکاپ دایرکت ادمین کنید . به شما پیشنهاد میکنیم قبل از ریستور کردن مجدد ، ابتدا فایل دیتابیسی که در تلاش قبلی به صورت ناقص ساخته شده است را کاملا پاک کنید و سپس اقدام به ریستور کردن فول بکاپ دایرکت ادمین نمایید . بعد از اتمام ریستور شدن بکاپ دایرکت ادمین حتما یک بار همه چیز را کاملا چک کنید . اگر همچنان مشکلی در اکانت ریستور شده توسط دایرکت ادمین وجود داشت به شما استفاده از دستورات ssh را جهت ریستور کردن دیتابیس پیشنهاد میکنیم .
آموزش ریستور کردن فایل .sql بکاپ دایرکت ادمین توسط کامند هایssh
یکی از بزرگ ترین مشکلات مشتریانی که از هاست اشتراکی و میزبانی وب لینوکس به سرور مجازی یا سرور اختصاصی کوچ میکنند مشکل ریستور کردن فایل های sql بزرگ و حجیم در MySQL سرور لینوکس است . برنامه هایی مانند phpmyadmin یا MySQL Dumper قادر به ذخیره سازی و ریستور کردن و بازیابی دیتابیس های خیلی بزرگ و حجیم نیستند و در صورت انتقال و ریستور کردن با آن ها همیشه احتمال و خطر بازیابی ناقص اطلاعات و آسیب دیدین دیتابیس وجود دارد .
ریستور کردن MySQL دیتابیس
از طرفی همیشه امکان ریستور کردن بکاپ کلی یا Full Backup برای خریدار سرور مجازی یا سرور اختصاصی امکان پذیر نیست . مثلا فول بکاپ توسط کنترل پنل cPanel ایجاد شده است ولی سرور مقصد از کنترل پنل دایرکت ادمین یا کلوکسو استفاده میکند . در این وضعیت هیچ راهی نیست جز استفاده از دستورات و کامند های ssh در لینوکس . در صورت استفاده صحیح از این کامند ها و دستورات برای بازیابی و ریستور کردن فایل های MySQL و دیتابیس ، قادر خواهید بود به راحتی فایل های MySQL با پسوند .sql و حجم های بالای ۱۵ و ۲۰ گیگ را در کمترین زمان ممکن و بدون خطا و آسیب دیدن به اطلاعات بازیابی و ریستور کنید .
قبل از انجام ریستور کردن دیتابیس توسط دستورات لینوکس در محیط ssh ابتدا باید اندازه پارامتر max_allowed_packet را بر اساس حجم دیتابیس مورد نظر تنظیم نمایید . برای ایجاد تغییرات در این پارامتر باید فایل my.cnf در مسیر /etc/ را ادیت کرده و میزان مورد نظر خود را وارد نمایید . سپس فایل را ذخیره کرده و سرویس MySQL را ریست کنید .
حالا وارد کنترل پنل وب هاستینگ سرور خود شوید و یک دیتابیس جدید ایجاد کنید . سپس نام کاربری و کلمه عبور این دیتابیس جدید را ساخته و به آن اختصاص دهید . حالا از طریق ssh وارد فولدر و پوشه ای شوید که فایل .sql در آن واقع شده است . با دستورات زیر اقدام به بازیابی و ریستور کردن این فایل .sql داخل دیتابیس MySQL ساخته شده در کنترل پنل وب هاستینگ خود نمایید :
mysql -u dbuser -p dbname < db.sql
با زدن کلید Enter سیستم عامل از شما رمز و کلمه عبور دیتابیس ساخته شده در کنترل پنل را میخواهد که با وارد کردن آن عملیات بازیابی و ریستور کردن دیتابیس آغاز میگردد . اگر به کلمه عبور MySQL Root Password دسترسی دارید میتوانید بدون نیاز به کلمه عبور و نام کاربری دیتابیس اقدام به بازیابی و ریستور کردن آن با یوزر root پایگاه داده MySQL نمایید :
mysql -u root -p dbname < db.sql
- - - Updated - - -
در ضمن دوستان و اساتيد عزيز ، بنده شخصي نيستم كه بتونم دوستان رو اصلاح كنم اما بياييد سعي كنيم كلمات كليدي و مهم ( حداقل اونايي كه به حرفه خودمون مربوط هست ) رو درست تلفظ كنيم.
RESTORE اين طور خوانده ميشود : رى اِستور ، گفتن اين كلمه به صورت ري سِتور اشتباه هست كه متاسفانه به تعداد زياااد ديدم بنده
اين رو هم عرض كردم كه به نوبه خودم خدمتي كرده باشم. موفق باشيد