您的位置:首页 > 编程语言 > PHP开发

如何去除phpmyadmin对导入SQL文件2M的限制

2011-01-14 13:27 337 查看
一、修改c:/windows/php.ini文件。

如果是Win2000的机器,应该是c/winnt/php.ini,用写字板打开php.ini文件:

1
、查找post_max_size,指通过表单POST给PHP的所能接收的最大值,包括表单里的所有值,默认为8M,看你自己需要进行改变。

2
、查找File Uploads,首先确认file_uploads
=

on
;是否允许通过HTTP上传文件的开关,默认为ON即是开。 upload_tmp_dir ;

查找upload_max_filesize ;即允许上传文件大小的最大值。默认为2M。

3
、如果要上传
>
8M的文件,那么只设置上述四项还不定一定可以。最好对下面的参数也进行设置:

查找max_execution_time
=

600
;每个PHP页面运行的最大时间值(秒),默认30秒。

max_input_time
=

600
;每个PHP页面接收数据所需的最大时间,默认60秒 。

memory_limit
=
8M ;每个PHP页面所吃掉的最大内存,默认8M。

二、修改c:/phpmyadmin/import.php文件。

用写字板打开import.php文件:

1
、查找$memory_limit,默认为$memory_limit
=

2

*

1024

*

1024
;自己修改。

2
、下边三四行的位置有同样的语句,自己修改。

三、到这里还不行,IIS的问题。

1
)解决在 IIS
6.0
中,无法上传大容量文件的办法:

1
、先在服务里关闭 iis admin service 服务。

2
、找到 windows/system32/inetsrv/ 下的 metabase.xml 文件。

3
、用写字板打开,找到 ASPMaxRequestEntityAllowed 把它修改为需要的值(默认为:
204800
,即:200K)。

4
、存盘,然后重启 iis admin service 服务,重启IIS。

2
)解决在 IIS
6.0
中,无法下载超过4M的附件步骤:

1
、先在服务里关闭 iis admin service 服务。

2
、找到 windows/system32/inetsrv/ 下的 metabase.xml 文件。

3
、用写字板打开,找到 AspBufferingLimit 把它修改为需要的值(默认为:
4194304
,即:4MB)。

4
、存盘,然后重启 iis admin service 服务,重启IIS

又一方法(算是补充吧):

二、数据备份和恢复

默认的数据导出、和导入最大文件有2M的最大限制。如果要操作大于2M的数据库备份文件就需要预先将文件上传到phpmyadmin的某个目录。

1
.首先在phpmyadmin个跟目录建立一个目录,比如叫ports

2
.在config.
default
.php中搜$cfg
[
'UploadDir'
]
,这个变量定义保存导入文件存放的目录,它下面的$cfg
[
'SaveDir'
]
定义的是数据导出文件的存放目录,我们都定义为ports

$cfg
[
'UploadDir'
]

=

'
ports
'
;

$cfg
[
'SaveDir'
]

=

'
ports
'
;

要注意的是ports目录的权限,saveDir只要能让php脚本往里边写东西。最后的就是操作完了,务必清空改目录,防止数据被别有用心的人下载

另外一种方法::

MYSQL导入导出.sql文件

一.MYSQL的命令行模式的设置:

桌面->我的电脑->属性->环境变量->新建->

PATH=“;path/mysql/bin;”其中path为MYSQL的安装路径。

二.简单的介绍一下命令行进入MYSQL的方法:

1.C:/>mysql -h hostname -u username -p

按ENTER键,等待然后输入密码。这里hostname为服务器的名称,如localhost,username为MYSQL的用户名,如root。

进入命令行后可以直接操作MYSQL了。

2.简单介绍一下MYSQL命令:

mysql->CREATE DATABASE dbname;//创建数据库

mysql->CREATE TABLE tablename;//创建表

mysql->SHOW DATABASES;//显示数据库信息,有那些可用的数据库。

mysql->USE dbname;//选择数据库

mysql->SHOW TABLES;//显示表信息,有那些可用的表

mysql->DESCRIBE tablename;//显示创建的表的信息

三.从数据库导出数据库文件:

1.将数据库mydb导出到e:/mysql/mydb.sql文件中:

打开开始->运行->输入cmd 进入命令行模式

c:/>mysqldump -h localhost -u root -p mydb >e:/mysql/mydb.sql

然后输入密码,等待一会导出就成功了,可以到目标文件中检查是否成功。

2.将数据库mydb中的mytable导出到e:/mysql/mytable.sql文件中:

c:/>mysqldump -h localhost -u root -p mydb mytable>e:/mysql/mytable.sql

3.将数据库mydb的结构导出到e:/mysql/mydb_stru.sql文件中:

c:/>mysqldump -h localhost -u root -p mydb --add-drop-table >e:/mysql/mydb_stru.sql

四.从外部文件导入数据到数据库中:

从e:/mysql/mydb2.sql中将文件中的SQL语句导入数据库中:

1.从命令行进入mysql,然后用命令CREATE DATABASE mydb2;创建数据库mydb2。

2.退出mysql 可以输入命令exit;或者quit;

3.在CMD中输入下列命令:

c:/>mysql -h localhost -u root -p mydb2 < e:/mysql/mydb2.sql

然后输入密码,就OK了。

五.下面谈一下关于导入文件大小限制问题的解决:

默认情况下:mysql 对导入文件大小有限制的,最大为2M,所以当文件很大时候,直接无法导入,下面就这个问题的解决列举如下:

1.在php.ini中修改相关参数:

影响mysql导入文件大小的参数有三个:

memory_limit=128M,upload_max_filesize=2M,post_max_size=8M

修改upload_max_filesize=200 M 这里修改满足你需要的大小,

可以同时修改其他两项memory_limit=250M post_max_size=200M

这样就可以导入200M以下的.sql文件了。



转自 http://www.cnblogs.com/haik/archive/2010/10/20/1856858.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: