PDA

View Full Version : سوال: مشکل Set Time Out در Phpmyadmin با Wamp وقت آپلود فایل 311000 رکوردی



leaping
سه شنبه 22 اردیبهشت 1394, 23:22 عصر
سلام
آقا من یه مشکل با این Phpmyadmin توی لوکال دارم.وقت استفاده از نرم افزار Wamp
یه فایل دیتابیس حاوی یک سری اطلاعات دارای 311000 رکورد دارم که میخوام توی یک جدول خاص اون رو آپلود کنم
حجم فایل هم 14.5 مگابایته ولی وقتی import میکنم پیغام زیر رو میده به صورت zip شده هم import رو انجام دادم بازم همین شد

Script timeout passed, if you want to finish import, please resubmit same file and import will resume.

همه روش های پایین رو هم امتحان کردم


Add this line to /config.inc.php:
$cfg['LoginCookieValidity']=36000;In /setup/lib/index.lib.php
$cf->getValue('LoginCookieValidity')>36000;If you don't already have a .htaccess file for your phpMyAdmin site, create one, and add the following line to override the default PHP session timeout:
php_value session.gc_maxlifetime 36000I would not recommend altering this value in your main php.ini file, as it will allow a ridiculously long session timeout for all your PHP sites.

You can change the cookie time session feature at phpmyadmin web interface
Settings->Features->General->Login cookie validityOR
If you want to change the 'login cookie validity' in configuration file, then open the phpmMyAdmin configuration file, config.inc.php in the root directory of PHPMyAdmin.(root directory is usually /etc/phpmyadmin/)
After locating the config.inc.php , search for the line below and set it to the value of seconds you want phpmyadmin to timeout:
$cfg['LoginCookieValidity']or
Add the following:
$cfg[' Servers'][$i][' LoginCookieValidity']=<your_new_timeout>;For example:
$cfg[' Servers'][$i][' LoginCookieValidity']=<3600*3>;The Timeout is set to 3 Hours from the Example above.
session.gc_maxlifetime might limit session validity and if the session is lost, the login cookie is also invalidated. So, we may need to set the session.gc_maxlifetime in php.ini configuration file(file location is /etc/php5 /apache2/php.ini in ubuntu).
session.gc_maxlifetime =3600*3
change in php.in file from wampicon/php/php
session.gc_maxlifetime =1440to
session.gc_maxlifetime =43200

کسی راهی به نظرش میرسه از دوستان؟

هرکار کردم بالا مرتب نشد اما طبق این لینک همه کارارو کردم همه چیز رو هم ریست کردم بازهم نشد

http://stackoverflow.com/questions/13697820/phpmyadmin-logs-out-after-1440-secs

MohammadReza1994
چهارشنبه 23 اردیبهشت 1394, 08:00 صبح
set_time_limit(sec(

leaping
چهارشنبه 23 اردیبهشت 1394, 09:37 صبح
هرچی time out و مربوط به time بود تو php.ini افزایش دادم اما همچنان مشکل سرجاشه کم کم سرم داره گیج میره :D

MohammadReza1994
چهارشنبه 23 اردیبهشت 1394, 09:39 صبح
کدی که بهت دادم باید اول فایل اسکریپت پی اچ پی بنویسی نه توی php.ini

leaping
چهارشنبه 23 اردیبهشت 1394, 09:47 صبح
دوست عزیز اون رو میدونم
معادل اون کد شما توی php میشه همون max_execution_time توی php.ini

MMSHFE
چهارشنبه 23 اردیبهشت 1394, 09:55 صبح
خودش که داره میگه اگه دوباره انتخاب کنید فایل رو، کار رو ادامه میده. اگه مشکلتون برطرف نشد از BigDump استفاده کنید. توی اینترنت قابل جستجو و دانلوده.

leaping
چهارشنبه 23 اردیبهشت 1394, 09:59 صبح
خب این کارو نمیکنه
به همون ترتیب میرم دوباره import میکنم اما از اونجا که ادامه نمیده میره از اول دوباره
همین رو سرچ میکنم ببینم چیه ممنون

leaping
چهارشنبه 23 اردیبهشت 1394, 10:44 صبح
با bigdump سعی کردم که وارد کنم.با موفقیت زد همه رکوردها وارد شدن اما وقتی رفتم جدول رو نگاه کردم دیدم همه رکوردهارو "0" زده
فایل من csv هست و سه تا column داره جدول دیتابیس رو هم 3 تا column زدم
دیگه کاملا گیج شدم از دست این فایل دیتا



----------------
کشف کردم چرا
ممنون :D

MMSHFE
چهارشنبه 23 اردیبهشت 1394, 10:58 صبح
با خود phpmyadmin یکبار دیگه Export بگیرین و CSV نگذارین و همون فرمت SQL باشه و gzip Compression رو هم فعال کنید تا فایل رو فشرده کنه و بهتون تحویل بده. فشرده سازیش خیلی خوبه.

leaping
چهارشنبه 23 اردیبهشت 1394, 11:12 صبح
نه فایل مال خود دیتابیس من نیست
یه دیتابیس مربوط به ip location هست و فقط با فرمت csv ارائه دادن وگرنه میدونم مال خود phpmyadmin خیلی بهتره :)

Unique
پنج شنبه 24 اردیبهشت 1394, 14:15 عصر
نمیخواد از PHPMyAdmin استفاده کنی. یک دستور SQL بزن حله :

LOAD DATA LOCAL INFILE '/path/to/your/csv/file/data.csv' INTO TABLE test FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\r\n';

فقط مسیر را باید درست بدی و New Line هم باید درست باشه !‌اگه فایل را توی ویندوز ساخته باشن معمولا r\n\ هست اما تیو لینوکس n\ هست. مسیر هم من به سبک لینوکس دادم ولی توی ویندوز relative بده شاید کار کرد مستقیمش هم با اسلش و بک اسلش چک کن.

از این دستور سریعتر نداریم.

میتونی از نرم افزار Navicat هم استفاده کنی ! توی Import و Export حرف نداره. MySQL Workbench هم ممکنه توی نسخه جدیدش امکان Import از CSV را فراهم کرده باشه.
کلا خیلی راه هست اما آخرین نرم افزاری که من ممکنه استفاده کنم PHPMyAdmin هست.

leaping
پنج شنبه 24 اردیبهشت 1394, 15:25 عصر
نمیخواد از PHPMyAdmin استفاده کنی. یک دستور SQL بزن حله :

LOAD DATA LOCAL INFILE '/path/to/your/csv/file/data.csv' INTO TABLE test FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\r\n';

فقط مسیر را باید درست بدی و New Line هم باید درست باشه !‌اگه فایل را توی ویندوز ساخته باشن معمولا r\n\ هست اما تیو لینوکس n\ هست. مسیر هم من به سبک لینوکس دادم ولی توی ویندوز relative بده شاید کار کرد مستقیمش هم با اسلش و بک اسلش چک کن.

از این دستور سریعتر نداریم.

میتونی از نرم افزار Navicat هم استفاده کنی ! توی Import و Export حرف نداره. MySQL Workbench هم ممکنه توی نسخه جدیدش امکان Import از CSV را فراهم کرده باشه.
کلا خیلی راه هست اما آخرین نرم افزاری که من ممکنه استفاده کنم PHPMyAdmin هست.
اصولا من متخصص myaql نیستم اما از اونجایی که بیشتر آموزشهای تصویری در قالب phpmyadmin هست و به دلیل اینکه پشتیبانش بیشتری براش وجود داره این سرویس رو انتخاب کردم حالا شاید در آینده وقتی حس کردم توان بیشتری دارم نرم افزار دیگه ای انتخاب کردم

saeedvir
پنج شنبه 24 اردیبهشت 1394, 22:19 عصر
اگه نشد باید فایل my.ini رو باز کنید و او به دنبال key_buffer_size و max_allowed_packet بگردید و این تغییرات را ذخیره کنید.

key_buffer_size = 20M
max_allowed_packet = 20M

Unique
پنج شنبه 24 اردیبهشت 1394, 23:42 عصر
اصولا من متخصص myaql نیستم

پسر خوب تخصص نمیخواد ! هر جا query میزنی توی PHPMyAdmin همونجا این را بنویس ! فقط باید مسیر فایل را کامل بدی ! اینطوری :


c:\www\backup\data.csv

اگه به مسیر گیر میده اینطوی هم امتحان کن :

c:/www/backup/data.csv

بهت نمیاد حوصله چک کردن نداشته باشیا !!

leaping
جمعه 25 اردیبهشت 1394, 00:26 صبح
پسر خوب تخصص نمیخواد ! هر جا query میزنی توی PHPMyAdmin همونجا این را بنویس ! فقط باید مسیر فایل را کامل بدی ! اینطوری :


c:\www\backup\data.csv

اگه به مسیر گیر میده اینطوی هم امتحان کن :

c:/www/backup/data.csv

بهت نمیاد حوصله چک کردن نداشته باشیا !!
جون داش مسئله چک کردن نیست مخصوصا الان که اون دیتا رو وارد کردم
اتفاقا خیلی دوس دارم چیزای جدید یاد بگیرم و استفاده هم بکنم به بهترین نحو اما مشکل زیق وقت هست کلی کار ریخته سرم مثل تراکتور فقط دارم کد می نویسم انگار دارم رمان می نویسم

و صد البته روشهای روت و ریشه ای روخیلی خلی بیشتر از نرم افزارهای واسط دوس دارم و من منظورم فقط این دستور نبود کلی گفتم
وگرنه میدونم دقیقا منظور شما چی هست و بسیار بسیار از راهنماییت ممنونم :)