我应该如何在phpmyadmin中导入一个巨大的表

时间:2015-05-25 20:43:50

标签: php mysql upload phpmyadmin

我有一张300,000行的表。然后当我导入它时,它将上传近200,000行,然后phpmyadmin杀死上传时出现此错误:

  

致命错误:第246行的C:\ xampp \ phpMyAdmin \ libraries \ import \ sql.php超出了300秒的最长执行时间

注意:'第246行'不会保持不变。有时是130或182.

应该注意的是,我在php.ini文件中更改了(增加)所有参数。 例如:

post_max_size       = 750M
upload_max_filesize = 750M
max_execution_time  = 5000
max_input_time      = 5000
memory_limit        = 1000M

仍然我无法上传我的巨大的桌子.....!事实上,我的问题是时间限制。你有什么建议?

2 个答案:

答案 0 :(得分:2)

我可以在 @vohuman 的帮助下解决我的问题。

要摆脱导入(甚至导出)的限制,你应该使用命令行,或者用@vohuman的话来说:

  

@vohuman:'登录mysql shell并source sql文件'

因此,要导入.sql文件(对于windows和xampp),您应该这样做:

第1步:将您的.sql文件放在C盘上,然后您的文件地址为:c:\filename.sql

第2步:打开CMD并输入:

c:\xampp\mysql\bin

step3:然后在命令行中键入此行以导入文件:

mysql -u {username} -p {databasename} < c:\filename.sql
  
      
  • 默认情况下,{username}root
  •   
  • 如果您使用密码,则应使用上面的-p{passwordname}行。 -ppasswordname之间不是任何空格。)
  •   
  • 您还可以使用任何其他地址。例如c:\filename.sql
  •   

step4:最后,检查您的数据库和上传的文件。 (例如使用phpmyadmin)

答案 1 :(得分:0)

配置没问题,但你必须注意,如果你运行带有别名conf文件的phpmyadmin,在别名内你可以将php变量设置为别名,并且不会受到你设置的指令的影响在全局php.ini中,检查别名(如果是这样)

Alias /phpmyadmin "/path/phpmyadmin4.4.6/"
<Directory "/path/phpmyadmin4.4.6/">
   Options Indexes FollowSymLinks MultiViews
   AllowOverride all
  <IfDefine APACHE24>
    Require local
  </IfDefine>
  <IfDefine !APACHE24>
    Order Deny,Allow
      Deny from all
      Allow from localhost ::1 127.0.0.1
    </IfDefine>
  php_admin_value upload_max_filesize 128M
  php_admin_value post_max_size 128M
  php_admin_value max_execution_time 360
  php_admin_value max_input_time 360
</Directory>