`
beyondhjjyt
  • 浏览: 39826 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

phpMyAdmin导入大的sql文件

 
阅读更多
在使用phpMyAdmin的时候经常用到数据的导入和导出(Export/Import),但是在导入大数据的时候由于php上传文件的限制和脚本响应时间的限制,导致phpMyAdmin无法导入大数据,对于导入大数据到mysql的,我以前使用过使用SHELL的方式导入几百兆的文件到mySQL数据库(原文),但是国内的虚拟主机绝大多数不像DreamHost一样开放SHELL权限,而且多数都是Windows Server服务器。我们自己又没有权限修改php.ini文件,对于这种情况我们可以使用phpMyAdmin提供的$cfg['UploadDir']方法,导入服务器上存在的.sql文件。
第一:
修改 PHP.ini
file_uploads on 是否允许通过HTTP上传文件的开关。默认为ON即是开
upload_tmp_dir  文件上传至服务器上存储临时文件的地方,如果没指定就会用系统默认的临时文件夹
upload_max_filesize 20m   望文生意,即允许上传文件大小的最大值。默认为2M
post_max_size 30m     指通过表单POST给PHP的所能接收的最大值,包括表单里的所有值。默认为8M
修改后一定要重新启动电脑或者重新启动php

其次,找到phpMyAdmin的目录,找到根目录下的config.inc.php文件,然后找到 $cfg['UploadDir'] ,通过注释(Directories for saving/loading files from server)就可以看出这是用来导入服务器上的SQL文件的方法。相对的就是 $cfg['SaveDir'] ,顾名思义就是把导出的SQL文件保存在服务器上的目录中。
修改这个参数
$cfg['UploadDir'] = 'ImportSQLFile';
$cfg['SaveDir'] = 'ExportSQLFile';
然后在phpMyAdmin中建立两个文件夹,ImportSQLFile和ExportSQLFile,一个用作大数据的导入,一个用作数据导出备份。
然后把我们需要导入的sql文件复制到ImportSQLFile中,上传到服务器上,选择需要导入的数据库名,选择导入(Import),就会发现在文件导入(File to import)的地方多出来一个导入服务器上的SQL文件(web server upload directory)

最近一次在用phpmyadmin导入mysql数据库时,偶的15M的数据库不能导入,mysql数据库最大只能导入2M..
phpmyadmin数据库导入出错:
You
probably tried to upload too large file. Please refer to documentation for ways
to workaround this
limit.
可以修改导入数据库文件最大限制吗?
到网上搜索了一下前人的解决办法,大多数都说修改php.ini中的upload_max_filesize,但修改了这个以后,还是提示这个问题;但 phpmyadmin在提示这个问题的时候,右下角有一行英文提示,大致意思是说,解决这个问题,可以参考phpmyadmin文档;直接点击这个链 接,phpmyadmin自动查找到了以下说明:
[1.16]
I cannot upload big dump files (memory, http or timeout problems).
Starting
with version 2.7.0, the import engine has been re–written and these problems
should not occur. If possible, upgrade your phpMyAdmin to the
latest version to take advantage of the new import features.
The first
things to check (or ask your host provider to check) are the values of
upload_max_filesize, memory_limit and post_max_size in the php.ini configuration
file. All of these three settings limit the maximum size of data that can be
submitted and handled by PHP. One user also said that post_max_size and
memory_limit need to be larger than
upload_max_filesize.
以上文件大致说明的意思就是说,遇到导入过大文件时,首先检查php.ini
配置文件中的以下三个地方,upload_max_filesize, memory_limit
和post_max_size,并且推荐修改的值要稍大于导入的巨大sql数据库文件;依照这个提示,我修改了以上三个在php.ini中的值以后,重启了php环境,再次导入时,虽然phpmyadmin还是显示导入最大限制:20,480
KB,但巨大的80M数据库文件已经被成功的导入 了。>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 如何在mysql中批量导入大的sql文本文件?
在实际工作中,有时经常地时行mysql数据库的导入和导入操作,但对于大型sql文件导入时,phpmyadmin是不行的,有太多限制,比如记录,内存等!  比较好的办法仍是用mysql的source命令:
一、在客户端下操作:
1、进行入客户端
2、mysql>use
数据库名(如果没有,先建一个)
3、mysql>set names ‘utf8′;
(一般看导入的是什么格式的文件)
4、mysql>source
d:\\aaa.sql;
即可正常导入,如果有错,可以看出错提示  二、PHP文件操作:
建立a.php
里面有下面内容
mysql_connet(‘xxxx’);
mysql_query(“set
names ‘utf8′”);
mysql_query(“source
d:\\aaa.sql’”);原理同上,主要方便了无法使用命令行用户的操作
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
如何在mysql中批量导入大的sql文本文件?
$file_name=”sql.sql”; //要导入的SQL文件名
$dbhost=”localhost”;
//数据库主机名
$dbuser=”user”; //数据库用户名
$dbpass=”pass”;
//数据库密码
$dbname=”dbname”; //数据库名 set_time_limit(0);
//设置超时时间为0,表示一直执行。当php在safe mode模式下无效,此时可能会导致导入超时,此时需要分段导入
$fp =
@fopen($file_name, “r”) or die(“不能打开SQL文件 $file_name”);//打开文件

mysql_connect($dbhost, $dbuser, $dbpass) or die(“不能连接数据库 $dbhost”);//连接数据库

mysql_select_db($dbname) or die (“不能打开数据库
$dbname”);//打开数据库
mysql_query(‘set names utf8′);
echo
“正在执行导入操作”;
while($SQL=GetNextSQL()){
if
(!mysql_query($SQL)){
echo
“执行出错:”.mysql_error().”
“;
echo
“SQL语句为:
“.$SQL.”
“;
};
}
echo
“导入完成”;
fclose($fp) or die(“Can’t close file
$file_name”);//关闭文件
mysql_close();
//从文件中逐条取SQL

function GetNextSQL() {
global $fp;

$sql=”\";
while ($line = @fgets($fp, 40960)) {

$line = trim($line);

//以下三句在高版本php中不需要,在部分低版本中也许需要修改
$line =
str_replace(“\\\\\\\\”,”\\\\”,$line);
$line =
str_replace(“\\’”,”’”,$line);
$line =
str_replace(“\\\\r\\\\n”,chr(13).chr(10),$line);
// $line
= stripcslashes($line);
if (strlen($line)>1)
{
if ($line[0]==”-” && $line[1]==”-”)
{
continue;

}
}

$sql.=$line.chr(13).chr(10);
if
(strlen($line)>0){
if
($line[strlen($line)-1]==”;”){

break;
}
}

}
return $sql;

}
?>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
mysql如何导入大SQL文件
今天需要对MYSQL导入一个13M的SQL文件,可是PHPMYADMIN只支持到2M,网上找了找,发现可以使用source命令,以下就是方法:
1.导入数据库
常用source
命令
进入mysql数据库控制台,
如mysql -u atyu -p
mysql>use
web3guo
然后使用source命令,后面参数为脚本文件(如这里用到的.sql)
mysql>source
c:\\web3guo.sql
2.导出整个数据库
mysqldump -u 用户名 -p 数据库名 >
导出的文件名
3.导出一个表
mysqldump -u 用户名 -p 数据库名 表名>
导出的文件名
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>MySQL 导入大SQL文件
2008年02月08日
星期五 下午
07:21刚导入一个从mysql库导出的300多M的备份文件,因为phpmyadmin最多支持8M的,文件太大IE停止响应,所以在本地用
mysql -u
root -p yourpassword yourdatabasename
导出简单命令:
mysqldump -u 用户名 -p 数据库名
> 导出的文件名
mysqldump -u root -p student
>d:\\student.sql>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
Mysql导入大数据库文件的办法
phpmyadmin是个很方便的mysql数据库管理工具,可以用来管理mysql数据库,导入,导出等。
但是phpmyadmin在导入mysql的时候有个问题,如果要导入的数据库文件比较大,那么导入就会失败。下面教大家一个简单有效的办法,可以导入任意大小的mysql数据库,理论上不论您的数据库备份文件多大,都可以导入。
方法如下:
1.将数据库备份文件(如backup.sql)上传至网站根目录。
2.将以下代码保存为mysql.php文件,上传至网站根目录。
system(“mysql
-hdbhost -udbuser -ppassword dbname
其中
dbhost
改为您的数据库服务器地址(小提示:一般主机默认数据库服务器地址是:localhost)
dbuser 改为您的数据库用户名
password
改为您的数据库用户密码
dbname
改为您的数据库名
backup.sql表示通过ftp上传到网站根目录下数据库文件的文件名(该文件是解压缩后的文件)
3.在浏览器里面访问mysql.php,假设你的网站域名是http://shop.tianxinled.com,那么就在浏览器里面输入http: //shop.tianxinled.com,只要浏览器一访问这个mysql.php文件,数据就开始导入,数据导入结束后,就会显示“导入成功”的字 样。这个时间根据您要导入的数据大小决定,一般时间很短。


分享到:
评论

相关推荐

    phpmyadmin导入sql数据库文件教程

    通过本教程,你应该已经掌握了如何使用PHPMyAdmin导入SQL文件的基本流程。这是一项非常实用的技能,无论是在开发过程中还是在日常维护中都会经常用到。记得在操作过程中要仔细检查各项设置,确保数据的完整性和准确...

    PhpMyAdmin中无法导入sql文件的解决办法

    PhpMyAdmin 中无法导入 SQL 文件的解决办法 PhpMyAdmin 是一个功能强大的 MySQL 数据库管理工具,支持多种数据库管理操作,包括数据备份、恢复、查询、修改等。但是,部分用户在使用 PhpMyAdmin 时可能会遇到无法...

    如何导入大sql文件到虚拟主机mysql数据库教程及相关文件

    `bigdump`是一个非官方的MySQL大文件导入工具,专为处理超过phpmyadmin限制的大SQL文件而设计。它通过分块读取和导入文件,避免一次性加载整个文件导致的内存溢出或超时问题。 ### 4. 使用`bigdump`的步骤 #### ...

    单文件phpmyadmin,功能强大不比phpmyadmin差

    单文件phpmyadmin,功能强大不比phpmyadmin差,可导出导入。可执行sql语句。

    大SQL文件自动分割为小SQL文件,可设置大小

    用来分割从MySQLAdministrator 或者 mysqldump 之类的工具产生的大SQL文件. 小的SQL文件便于从phpMyAdmin之类的受运行时间限制的脚本恢复数据, 这是一个非常好用的工具. 厉害之处是它可以自动将结构语句和数据语句...

    phpMyAdmin批量导入Excel内容到MySQL

    **第六步至第十步:通过phpMyAdmin导入数据** 1. 在phpMyAdmin中打开目标数据库及表,选择“导入”功能。 2. 设置导入文件格式为“CSV使用LOADDATA”,这是phpMyAdmin中专门用于处理CSV文件的选项。 3. 选择你已转换...

    修改phpMyAdmin导入SQL文件的大小限制

    用phpMyAdmin导入mysql数据库时,我的10M的数据库不能导入,提示mysql数据库大只能导入2M。  phpMyAdmin数据库导入出错:  You probably tried to upload too large file. Please refer to documentation for ...

    解决PhpMyAdmin中导入2M以上大文件限制的方法分享

    当用phpMyAdmin导入的资料库大小大于2M的时候,会出现如下提示:No data was received to import. Either no file name was submitted、or the file size exceeded the maximum size permitted by your ...

    利用phpMyAdmin导入和导出mysql数据(图解)

    导出数据是指将数据库或表中的数据转换为.sql文件或其他格式的文件,以便于备份或迁移至其他系统。使用phpMyAdmin导出数据的过程如下: 1. **选择数据库或表**:在phpMyAdmin中选择需要导出的数据库或表。 2. **...

    BigDump v0.32b (SQL文件分段导入工具)

    如果你想用这样一个庞大的 SQL 文件,通过 web 界面访问 phpMyAdmin 来导入到数据库,恐怕很难成功(除非你自己管理服务器,拥有 MySQL 的 shell 访问权限)。 对于普通用户来说,我认为使用 BigDump 工具完全能...

    php中比较简单的导入phpmyadmin生成的sql文件的方法

    本节将详细介绍如何在PHP环境中使用简单的代码导入由phpMyAdmin生成的SQL文件,创建数据库并执行其中的SQL语句。 1. 读取SQL文件内容 首先,我们需要读取存储有SQL语句的文件。这可以通过PHP的file_get_contents()...

    PHPMyAdmin导入时提示文件大小超出PHP限制的解决方法

    当尝试导入超过这个大小的SQL文件时,PHPMyAdmin将无法完成导入操作,导致错误提示。要解决这个问题,我们需要调整PHP的配置参数。 首先,我们需要找到并编辑PHP的配置文件`php.ini`。这个文件可能位于服务器的不同...

    PHPMYADMIN导入数据最大为2M的解决方法

    如果你在实际操作中遇到其他问题,例如中文乱码或者导入特定格式的数据,可以参考相关文章中的解决方案,例如处理MySQL导出的中文乱码、从Excel导入数据到MySQL的步骤,或者使用PHP导入PHPMYADMIN生成的SQL文件等。

    如何使用navicat或PHPMySQLAdmin导入SQL语句.pdf

    使用 Navicat 或 PHPMyAdmin 导入 SQL 语句 Navicat 和 PHPMyAdmin 是两个非常常用的数据库管理工具,它们可以帮助我们轻松地管理数据库,特别是在导入 SQL 语句方面。下面我们将详细介绍如何使用 Navicat 和 ...

    一键导入所有数据库文件_问道数据库文件_问道数据库_

    在实际操作中,导入all.sql文件通常需要使用数据库管理工具,如MySQL的命令行客户端或图形界面工具如phpMyAdmin。导入流程可能包括以下步骤: 1. 解压包含all.sql的压缩文件。 2. 打开数据库管理工具,连接到目标...

    mysql导入sql文件.docx

    除此之外,还可以通过分块导入大文件或使用其他工具,如 Navicat、phpMyAdmin 等图形化界面来规避文件大小限制。 总之,MySQL 导入和导出 SQL 文件是一个涉及多个步骤的过程,包括设置环境变量、使用命令行工具以及...

    phpmyadmin里面导入sql语句格式的大量数据的方法

    以下是在PHPMyAdmin中导入SQL文件的步骤: 1. **登录PHPMyAdmin**:打开你的Web浏览器,输入服务器上PHPMyAdmin的URL并登录。你需要提供服务器地址、用户名和密码。 2. **选择数据库**:登录后,在左侧的数据库...

    如何导入超大MySQL数据库备份文件

    具体而言,它将大型SQL文件切割成多个较小的部分,逐一导入目标数据库。这一过程重复进行,直至完成整个文件的导入。这种方式不仅有效避免了内存溢出等问题,还大大降低了对服务器资源的需求,使得在较低配置的环境...

Global site tag (gtag.js) - Google Analytics