نوشته‌ها

import و export کردن دیتابیس در phpmyadmin

نحوه import و export کردن دیتابیس در پی اچ پی مای ادمین

در مطلب قبل آموزش import و export کردن دیتابیس توسط php را ارسال کردیم. در این مطلب روش راحت دیگری آموزش داده ایم. در این مطلب این کار را توسط phpmyadmin انجام می دهیم.

1.نحوه دسترسی به دیتابیس phpmyadmin  :

الف : نحوه دسترسی به phpmyadmin در صورتی که کنترل پنل سی پنل باشد :

در صورتی که از کنترل پنل هاست سی پنل استفاده می کنید ابتدا وارد پنل خود شوید و از قسمت Databases روی گزینه phpMyAdmin کلیک کنید.

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

ب : نحوه دسترسی به phpmyadmin در صورتی که کنترل پنل دایرکت ادمین باشد :

پس از ورود به دایرکت ادمین از قسمت روی گزینه  MySQL Management کلیک کنید. سپس روی گزینه phpMyAdmin کلیک کنید. همچنین با وارد کردن آی پی سرور و سپس phpmyadmin می توانید بدون نیاز به ورود به پنل دایرکت ادمین وارد شوید. مثال : aaa.aaa.aaa/phpmyadmin

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

ج : نحوه دسترسی به phpmyadmin در صورتی که پنلی روی سرور نصب نباشد :

اگر هیچ پنلی روی سرور شما نصب نشده است و فقط نرم افزار phpmyadmin را نصب کرده اید می توانید با وارد کردن آدرس آن وارد شوید. معمولا آی پی . سپس phpmyadmin است مثال : aaa.aaa.aaa/phpmyadmin

نحوه export کردن دیتابیس در phpmyadmin :

بعد از ورود به phpmyadmin مانند تصویر زیر از سمت چپ صفحه ابتدا دیتابیس خود را انتخاب کنید.

phpmyadmin

phpmyadmin

پس از کلیک روی دیتابیس مورد نظر در بالای صفحه روی گزینه Export کلیک کنید.

Export Method :

به دو روش Quick و Custom است. در روش Quick از تمام جداول دیتابیس خروجی می گیرید و در روش Custom می توانید از جداول مورد نیاز خود خروجی بگیرید.

همچنین تنظیمات دیگری در این قسمت وجود دارد.

Format را SQL انتخاب کنید و روی گزینه Go کلیک کنید. فایل را دانلود کنید.

نحوه import کردن دیتابیس در phpmyadmin :

ابتدا باید دیتابیس را ایجاد کنید. ( سی پنل – دایرکت ادمین) و سپس به phpmyadmin وارد شوید.

بعد از ورود به phpmyadmin مانند تصویر زیر از سمت چپ صفحه ابتدا دیتابیس خود را انتخاب کنید.

phpmyadmin

phpmyadmin

سپس روی گزینه import کلیک کنید و در قسمت Browse your computer فایل دیتابیس را انتخاب کنید.

Character set of the file را روی utf-8 قرار دهید و روی گزینه Go کلیک کنید.

آموزش ریستور کردن فایل های بزرگ و حجیم دیتابیس MYSQL در SSH لینوکس

ریستور کردن فایل های دیتابیس پر حجم و بزرگ از طریق محیط ssh در سیستم عامل لینوکس سرور

یکی از بزرگ ترین مشکلات مشتریانی که از هاست اشتراکی و میزبانی وب لینوکس به سرور مجازی یا سرور اختصاصی کوچ میکنند مشکل ریستور کردن فایل های sql بزرگ و حجیم در MySQL سرور لینوکس است . برنامه هایی مانند phpmyadmin یا MySQL  Dumper قادر به ذخیره سازی و ریستور کردن و بازیابی دیتابیس های خیلی بزرگ و حجیم نیستند و در صورت انتقال و ریستور کردن با آن ها همیشه احتمال و خطر بازیابی ناقص اطلاعات و آسیب دیدین دیتابیس وجود دارد .

از طرفی همیشه امکان ریستور کردن بکاپ کلی یا 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

مشکل ایمپورت کردن دیتابیس های بزرگ و پر حجم در PHPMYADMIN

اسکریپت phpmyadmin معروف ترین برنامه مدیریت تحت وب دیتابیس های مبتنی بر MySQL است که تقریبا تمام کنترل پنل های وب هاستینگ معروف لینوکس ، از آن به عنوان اولین یا تنها برنامه مدیریت دیتابیس های MySQL استفاده میکنند .  ریستور کردن و ایمپورت دیتابیس های بزرگ MySQL  به کمک زبان php و به واسطه اسکریپت phpmyadmin به هیچ عنوان پیشنهاد نمیشود (به دلیل احتمال بروز خطا با ایمپورت ناقص دیتابیس) ، بنا بر این فقط زمانی اقدام به انجام این کار کنید که حجم دیتابیس شما حد اکثر ۲۰ یا ۳۰ مگابایت و سرعت کانکشن و اینترنت شما نیز حد اقل ۵۱۲ است . در غیر این صورت احتمال ایمپورت ناقص و خراب شدن دیتابیس بسیار زیاد است .

در بیشتر سرور های میزبانی وب مبتنی بر کنترل پنل های وب هاستینگ سی پنل و دایرکت ادمین ، حد اکثر حجم مجاز آپلود فایل توسط php به صورت پیش فرض روی ۸ مگابایت محدود شده است . بنا بر این در صورت ایمپورت کردن و آپلود کردن دیتابیس های بزرگ تر از ۸ مگابایت با پیام های خطایی مشابه زیر مواجه خواهید شد :

You probably tried to upload too large file. Please refer to documentation for ways to workaround this limit.

the file size exceeded the maximum size permitted by your PHP configuration

برای حل این مشکل و رفع محدودیت حجم آپلود و ایمپورت دیتابیس های MySQL کافی است تا فایل php.ini را ویرایش کرده و مقادیر زیر را به این شکل افزایش دهید :

memory_limit = 128M
post_max_size = 128M
upload_max_filesize = 128M
max_execution_time = 300
max_input_time = 300

بعد از انجام  تغییرات فوق در فایل php.ini اقدام به ریستارت کردن وب سرور و/یا اجرا کننده php کنید تا تغییرات در سرور اعمال شوند :

service httpd restart

با مراجعه مجدد به صفحه ایمپورت phpmyadmin مشاهده خواهید کرد که محدودیت ۸ مگابایتی آپلود دیتابیس به ۱۲۸ مگابایت افزایش پیدا کرده است .

برای ریستور کردن دیتابیس های بزرگ تر از ۲۰ مگابایت حتما از طریق SSH و دستورات مربوط به MySQL استفاده کنید  .