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文件,数据就开始导入,数据导入结束后,就会显示“导入成功”的字 样。这个时间根据您要导入的数据大小决定,一般时间很短。


转载于:https://www.cnblogs.com/beyondhjjyt/archive/2013/03/28/3046528.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/433761.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

vue 计算属性和data_Vue:计算属性

一、为什么要使用计算属性1、什么是计算属性计算属性:可以理解为能够在里面写一些计算逻辑的属性。具有如下的作用:减少模板中的计算逻辑。数据缓存。当我们的数据没有变化的时候,不会再次执行计算的过程。依赖固定的数据类型(响应式数据)&am…

Linux添加/删除用户和用户组

本文总结了Linux添加或者删除用户和用户组时常用的一些命令和参数。 1、建用户: adduser phpq //新建phpq用户 passwd phpq //给phpq用户设置密码 2、建工作组 groupadd test …

mysql 计算近30天总金额_mysql┃一条更新语句是怎么执行的???

本文共:3018字 预计阅读时间:8分钟文章首发于我的微信公众号:哪儿来的moon,欢迎大家关注mysql┃一条更新语句是怎么执行的???前言 通过上一篇文章的内容,大家已经对mysql的基本架构有…

arduinowifi.send怎么获取响应_ChatterBot代码解读-获取对话

这个过程比较复制,安装处理的流程,依次进行代码解读。在定义一个ChatBot后,可以进行对话的训练,这个过程参考:水中的鱼:ChatterBot代码解读-训练数据​zhuanlan.zhihu.com然后就是用如下的代码&…

[jQuery] jQuery函数

(1)文档就绪函数$(document).ready(function(){--- jQuery functions go here ----});为了防止文档在完全加载(就绪)之前运行 jQuery 代码。如果在文档没有完全加载之前就运行函数,操作可能失败。下面是具体的例子&…

beautifulsoup网页爬虫解析_Python爬虫神器:PyQuery,解析网页更简单,小白也能学会

图/文:迷神我们做python爬虫,通过requests抓取到内容就需要正则匹配,或者其他解析库解析内容。很多可能和我一样的人,都使用jquery的,那用的还是非常爽的。而pyquery库就是jQuery的Python实现,能够以jQuery…

ubuntu设置始终亮屏_ubuntu系统每次启动屏幕都是最大亮度问题的解决方法

这个方法你尝试过没首先你要确保有这个文件:复制代码代码如下:/sys/class/backlight/acpi_video0/brightnesscat出来的值就是你当前的屏幕亮度.我们修改下面的文件加入一些用户启动设置:复制代码代码如下:sudo gedit /etc/rc.local在 exit 0 的上方加入以下代码(确保exit 0没有…

unityios开发--加载视频以及加载完成之后自动跳转 .

在做游戏或者是虚拟漫游一般都会用到在开始的时候加载一段视频,这个视频可能一个介绍整个游戏或者是整个项目的。在加载完了之后自动的跳转到主画面或一个场景,在前在网上百度了一下找到的大部分都是win的好不容易找到了ios的。 Unity3D中播放游戏视频的…

rnn神经网络模型_一文读懂序列建模(deeplearning.ai)之循环神经网络(RNNs)

作者:Pulkit Sharma,2019年1月21日翻译:陈之炎校对:丁楠雅本文为你详细介绍序列模型,并分析其在不同的真实场景中的应用。简介如何预测一个序列中接下来要发生什么事情是一个非常吸引人的课题,这是我对数据…

mysql 人名用什么类型_如何选择合适的MySQL数据类型

一、MySQL数据类型选择原则更小的通常更好:一般情况下选择可以正确存储数据的最小数据类型。越小的数据类型通常更快,占用磁盘,内存和CPU缓存更小。简单就好:简单的数据类型的操作通常需要更少的CPU周期。例如:整型比字…

am335x uart5配置

任务:配置uart5

XML Schema ---complexType-----复合元素

混合的复合类型可包含属性、元素以及文本。 带有混合内容的复合类型 XML 元素&#xff0c;"letter"&#xff0c;含有文本以及其他元素&#xff1a; <letter>Dear Mr.<name>John Smith</name>.Your order <orderid>1032</orderid>will …

Java笔记(一)—StringBuilder类

1、StringBuilder类概述 StringBuilder是一个可变的字符串类&#xff0c;主要指的是StringBuilder对象 中的内容是可变的。与之相比String对象的内容是不变的。2、StringBuilder常用构造方法 public StringBuilder() {} //创建空白可变字符串 public StringBuilder(String st…

ubuntu下制作u盘镜像_deepin下制作win10启动U盘

1.准备①下载multibootusb&#xff1a;http://multibootusb.org/page_download/ ②准备一个win10的镜像文件 ③准备一个U盘&#xff0c;最好先备份U盘数据再格式化一道2.打开multibootusb工具输入开机密码&#xff0c;点击认证3.multibootusb操作部分①选择U盘的第一个分区 ②安…

Shared_from_this 几个值得注意的地方

shared_from_this()是enable_shared_from_this<T>的成员 函数&#xff0c;返回shared_ptr<T>。首先需要注意的是&#xff0c;这个函数仅在shared_ptr<T>的构造函数被调用之后才能使 用。原因是enable_shared_from_this::weak_ptr并不在构造函数中设置&#x…

asterisk1.8 账号信息mysql存储(动态)

1. 首先需要先编译出以下6个模块 res_realtime.so pbx_realtime.so func_realtime.so res_config_mysql.so app_mysql.so cdr_mysql.so 其中有些模块&#xff0c;asterisk默认并不编译&#xff0c;需要修改menuselect.makeopts这个文件&#xff0c;将里面的相应…

签证上的mult是什么意思_申根签证中mult是什么意思

展开全部申根签证中mult是是多次的意思&#xff0c;指可以在有效期内多次往返申根国家。类型申根签证分62616964757a686964616fe78988e69d8331333431373939为入境和过境两类。1.入境签证有一次入境和多次入境两种。签证持有者分别可一次连续停留90天或每半年多次累计不超过3个月…

Java拆分字符串

1、例如给出如下字符串"91 27 46 38 50"如何将其拆分成{"91", "27", "46", "38", "50"}呢&#xff1f;2、我们可以通过String类中的public String[] split(String regex)方法来实现String s "91 27 46 38 5…

Perl正则表达式匹配

\w([-.]\w)*((aa.com)|(bb.com)|(163.com)) 这个正则表达式可实现匹配含有aa.com或bb.com或163.com 的email 转载于:https://www.cnblogs.com/inbase/archive/2013/04/01/2994479.html

大数据翻页_大数据量下的分页解决方法

最好的办法是利用sql语句进行分页&#xff0c;这样每次查询出的结果集中就只包含某页的数据内容。再sql语句无法实现分页的情况下&#xff0c;可以考虑对大的结果集通过游标定位方式来获取某页的数据。sql语句分页&#xff0c;不同的数据库下的分页方案各不一样&#xff0c;下面…