ورود

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : چطور حجم ایمپورت دیتابیس را در phpmyadmin افزایش بدم ؟



amirhoseyn
October 3rd, 2013, 21:04
دوستان 1 گیگ دیتابیس میخوام ایمپورت کنم چطور حجم ایمپورت دیتابیس را در phpmyadmin افزایش بدم ؟

کنترل پنل دایرکت ادمین

amirhoseyn
October 3rd, 2013, 21:39
بیا بالا

compiler
October 3rd, 2013, 21:48
سلام

ابتدا با اجرا کردن دستور زیر محل Php.ini رو پیدا کنید

/usr/local/bin/php -i | grep 'Loaded Configuration File'

بعد از ویرایش مقادیر زیر رو به نسبت مشخص و ثابت افزایش بدید

memory_limit
post_max_size
upload_max_size

2 مورد آخر رو حتما با یک نسبت زیاد کنید . مثلا هر ۲ رو ۳ یا ۴ یا ۵ برابر کنید

و در نهایت وب سرور رو ریستار کنید . اگر آپاچی هست : service httpd restart

amirhoseyn
October 4th, 2013, 14:34
حجم و افزایش دادم ولی کامل ایمپورت نشد و این ارورو میده

16001

omidrezav
October 4th, 2013, 14:45
دسترسی روت دارید؟

amirhoseyn
October 4th, 2013, 14:51
دسترسی روت دارید؟
بله

omidrezav
October 4th, 2013, 14:56
خب پس چرا خودتون درگیر php و phpmyadmin میکنید؟
مشتقیما دستور رو توی Shell بزنید:



mysql -u root -p DBNAME < /path/to/file

amirhoseyn
October 4th, 2013, 15:04
خب پس چرا خودتون درگیر php و phpmyadmin میکنید؟
مشتقیما دستور رو توی Shell بزنید:



mysql -u root -p DBNAME < /path/to/file


پسورد روت دیتابیس رو ندارم

omidrezav
October 4th, 2013, 15:09
اگر دسترسی روت سرور رو داشته باشید خیل راحت می تونید پسورد روت mysql رو ریست کنید ولی حتی اگر اون رو هم نداشته باشید یا به هر دلیل نخواهید پسورد روت دیتابیس رو دستکاری کنید به هر یوزر دیگه ای می تونید همین کار رو بکنید:

مثلا اگر یوزر شما dbuser باشد و نام دیتابیسی که می خواهید فایل را داخلش ایمپورت کنید db باشد، می تونید این دستور رو وارد کنید:



mysql -u dbuser -p db < /path/to/file

amirhoseyn
October 4th, 2013, 15:13
اگر دسترسی روت سرور رو داشته باشید خیل راحت می تونید پسورد روت mysql رو ریست کنید ولی حتی اگر اون رو هم نداشته باشید یا به هر دلیل نخواهید پسورد روت دیتابیس رو دستکاری کنید به هر یوزر دیگه ای می تونید همین کار رو بکنید:

مثلا اگر یوزر شما dbuser باشد و نام دیتابیسی که می خواهید فایل را داخلش ایمپورت کنید db باشد، می تونید این دستور رو وارد کنید:



mysql -u dbuser -p db < /path/to/file


خب عزیز ازم پسورد میخواد چه پسوردیو بزنم ؟

amirhoseyn
October 4th, 2013, 15:27
دستورو اجرا کردم
ولی این ارورو میده
at line 4418: Got a packet bigger than 'max_allowed_packet' bytes

omidrezav
October 4th, 2013, 15:33
دستورو اجرا کردم
ولی این ارورو میده
at line 4418: Got a packet bigger than 'max_allowed_packet' bytes

فایل my.cnf تون رو باز کنید و متغیر max_allowed_packet رو پیدا کندی و مقدارش رو با یه عدد خیلی بزرگ (بزرگتر از حجم فایلتون) جایگزین کنید.
اگر همچین متغیری رو ندید خودتون بعد از تگ [mysqld] اضافه اش کنید:



max_allowed_packet=1500M

بعد از ویرایش فایل mysqld رو ری استارت کنید.

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

amirhoseyn
October 4th, 2013, 15:40
فایل my.cnf تون رو باز کنید و متغیر max_allowed_packet رو پیدا کندی و مقدارش رو با یه عدد خیلی بزرگ (بزرگتر از حجم فایلتون) جایگزین کنید.
اگر همچین متغیری رو ندید خودتون بعد از تگ [mysqld] اضافه اش کنید:



max_allowed_packet=1500M

بعد از ویرایش فایل mysqld رو ری استارت کنید.

البته فراموش نکنید که بعد از این که کارتون تموم شد دوباره این مقدار رو به حالت اولش برگردونید.
همچین چیزی وجود نداره
max_allowed_packet=1500M

خودم اضافه کنم ؟

با چه دستوری mysql رو ریست بدم ؟

omidrezav
October 4th, 2013, 15:43
بله خودتون به صورت دستی بعد از تگ mysqld و قبل از اینکه تگ دیگه ای باز بشه اضافه اش کنید.
برای ری استارت کردن mysqld هم اگر CentOS باشه باید این رو بدید:



service mysqld restart

ded_usa
October 8th, 2013, 19:51
دوست عزیز اگر دیتابیس sql هستش زیپش کن ببین میتونی ایمپورت کنی مشکلی نداره

reza21biologist
October 11th, 2013, 12:02
سلام در صورتی که فایل my.cnf کاملا خالی است می بایست به صورت زیر مقادیر را قرار دهید :

[mysqld]
max_allowed_packet=1500M

سپس کلیدهای ctrl+w را بفشارید و برای save شدن y را وارد کنید و در آخر سرویس mysql را restart کنید.

با تشکر