我应该如何在 phpmyadmin 中导入一个巨大的 table
how should i import a huge table in phpmyadmin
我有一个包含 300,000 行的 table。然后当我导入它时,它将上传近 200,000 行然后 phpmyadmin 终止上传并出现此错误:
Fatal error: Maximum execution time of 300 seconds exceeded in C:\xampp\phpMyAdmin\libraries\import\sql.php on line 246
注: 'on line 246'没有变化。有时是 130 或 182。
需要注意的是,我更改了(增加) php.ini 文件中的所有参数。
例如:
post_max_size = 750M
upload_max_filesize = 750M
max_execution_time = 5000
max_input_time = 5000
memory_limit = 1000M
我仍然无法上传我巨大的 table .....!其实我的问题是时间限制。你有什么建议?
配置没问题,但是你要注意,如果你是运行 phpmyadmin 有别名conf文件,在别名里面你可以正确设置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>
我可以在 @vohuman 的帮助下解决我的问题。
要摆脱导入(甚至导出)的限制,你应该使用命令行,或者用@vohuman的话来说:
@vohuman: 'Log into mysql shell and source
the sql file'
因此,要导入 .sql
文件(对于 windows 和 xampp),您应该执行以下操作:
step1:把你的.sql文件放到C盘,那么你的文件地址就是:c:\filename.sql
步骤 2: 打开 CMD 并输入:
c:\xampp\mysql\bin
第 3 步: 然后在命令行中输入此行以导入您的文件:
mysql -u {username} -p {databasename} < c:\filename.sql
- By default
{username}
is root
.
- If you use the password, you should use
-p{passwordname}
in above line. (between -p
and passwordname
isn't any space.)
- Also you can use any other address.
c:\filename.sql
is for example.
step4: 最后,检查你的数据库和上传的文件。 (例如使用 phpmyadmin)
我有一个包含 300,000 行的 table。然后当我导入它时,它将上传近 200,000 行然后 phpmyadmin 终止上传并出现此错误:
Fatal error: Maximum execution time of 300 seconds exceeded in C:\xampp\phpMyAdmin\libraries\import\sql.php on line 246
注: 'on line 246'没有变化。有时是 130 或 182。
需要注意的是,我更改了(增加) php.ini 文件中的所有参数。 例如:
post_max_size = 750M
upload_max_filesize = 750M
max_execution_time = 5000
max_input_time = 5000
memory_limit = 1000M
我仍然无法上传我巨大的 table .....!其实我的问题是时间限制。你有什么建议?
配置没问题,但是你要注意,如果你是运行 phpmyadmin 有别名conf文件,在别名里面你可以正确设置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>
我可以在 @vohuman 的帮助下解决我的问题。
要摆脱导入(甚至导出)的限制,你应该使用命令行,或者用@vohuman的话来说:
@vohuman: 'Log into mysql shell and
source
the sql file'
因此,要导入 .sql
文件(对于 windows 和 xampp),您应该执行以下操作:
step1:把你的.sql文件放到C盘,那么你的文件地址就是:c:\filename.sql
步骤 2: 打开 CMD 并输入:
c:\xampp\mysql\bin
第 3 步: 然后在命令行中输入此行以导入您的文件:
mysql -u {username} -p {databasename} < c:\filename.sql
- By default
{username}
isroot
.- If you use the password, you should use
-p{passwordname}
in above line. (between-p
andpasswordname
isn't any space.)- Also you can use any other address.
c:\filename.sql
is for example.
step4: 最后,检查你的数据库和上传的文件。 (例如使用 phpmyadmin)