怎么快速导入一个超大的mysql文件

怎么快速导入一个超大的mysql文件,第1张

1、首先已管理员身份(通过win+r)进入命令提示符

2、先进入MYSQL安装目录,以我的为例:d:/wamp/bin/mysql/mysql5520/bin 进入该目录的bin目录下,该目录下有个mysqlexe 文件

mysql 导入超大文件到数据库 - queen - 安然

3、为了保证一次性通过,可以先测试一下数据库的是否连接成功 mysql -u root -p (数据库有密码的写上密码);再测试一下访问的数据库是否能访问 mysql -u root -p (数据库有密码的写上密码) craft(这个就是数据库的名称);我第二次导入时遇到一个问题,就是我测试数据库连接成功后,直接又测试数据库是否能够访问,出现错误

mysql 导入超大文件到数据库 - queen - 安然

我检查了一遍命令没发现错误啊,没办法了,问我领导,人家三下五除二就搞定了,问了才知道,所有的命令都应该在

mysql 导入超大文件到数据库 - queen - 安然

下执行,包括测试数据库是否连接成功,数据库是否能访问和最后的数据库导入,我的错误就是在检查了数据库是否连接成功后就进入mysql里,没有退出来。好吧,又记了一遍。

4、如果上面的 *** 作没有问题,下一步就进行数据导入 *** 作

mysql -u root -p (数据库有密码的写上密码) craft < d:/craftsql

导入过程可能会由于其他原因导致错误,我遇到的是在导入过程中可能由于编码的原因出现错误,所以,可以再加上点内容 mysql -u root -p --default-character-set=utf8 craft < d:/craftsql,敲回车后,出现输入密码提示,如果数据库设置密码,就可以输入密码后再打回车,直到导入 *** 作完成

mysql 导入超大文件到数据库 - queen - 安然

注意:这样就完成了导入,不过中间还可能出现的问题就是要导入文件的权限问题,要保证你所登录的身份有对文件的写 *** 作,所以为了防止万一,我们可以将文件的所有权限都打开:选中文件,点右键,选择属性,选“安全”选项卡,选中你登录的角色,点“编辑”,选中“允许”下面的“完全控制”,点击确定。

抄一段给你看看,应该有些帮助。

一般网站经常用phpmyadmin备份和恢复数据库,但默认总是限制了16M。网站数据一多就不行了。

解决方法如下:

(1)修改phpini适用自己有服务器的人

大多数都修改phpini中的upload_max_filesize,但修改了这个以后,还是提示这个问题;

那么更改如下几处:

修改 PHPini

file_uploads on 是否允许通过>

在mysql中导入/导出超大的sql文本文件,我们可以使用很多方法实例,如有:客户端直接命令 *** 作,分块导入,客户端用source命令 *** 作等等。

在实际工作中,有时经常地时行mysql数据库的导入和导入 *** 作,但对于大型sql文件导入时,phpmyadmin是不行的,有太多限制,比如记录,内存等!

多种方案收集,如下:

方案一:客户端直接命令 *** 作(此方法是我比较喜欢的)

刚恢复一个电商网站mysql备份数据,此备份文件有300多M,因为phpmyadmin支持上传有限,文件太大IE停止响应,所以在本地用

代码如下

复制代码

mysql -u root -p root jiahuibuydb<

c:/yebihaisql

但没导入进去,出来一大堆mysql的参数提示,不认输入的命令参数,后来写成下面这个样子,就是去掉了参数和数据之间的空格

代码如下

复制代码

mysql -uroot -proot jiahuibuydb<

c:/yebihaisql

导入就OK了

导出命令:

a)导出整个库

mysqldump -u 用户名 -p 数据库名 > 导出的文件名

代码如下

复制代码

mysqldump -u root -p student

>d:/yebihaisql

b)导出一个表

mysqldump -u 用户名 -p 数据库名 表名> 导出的文件名

方案二:分块导入

代码如下

复制代码

<

//用来快速Mysql的大数据备份

//使用前请首先按照代码注释修改要导入的SQL文件名、数据库主机名、数据库用户名、密码、数据库名

//同时将数据库文件和本文本一起ftp导网站目录,然后以web方式访问此文件即可

$file_name="sqlsql"; //要导入的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数据库的导入,有两种方法:

1)

先导出数据库sql脚本,再导入;

2)

直接拷贝数据库目录和文件。

在不同 *** 作系统或mysql版本情况下,直接拷贝文件的方法可能会有不兼容的情况发生。

所以一般推荐用sql脚本形式导入。下面分别介绍两种方法。

2

方法一

sql脚本形式

*** 作步骤如下:

21

导出sql脚本

在原数据库服务器上,可以用phpmyadmin工具,或者mysqldump命令行,导出sql脚本。

211

用phpmyadmin工具

导出选项中,选择导出“结构”和“数据”,不要添加“drop

database”和“drop

table”选项。

选中“另存为文件”选项,如果数据比较多,可以选中“gzipped”选项。

将导出的sql文件保存下来。

212

用mysqldump命令行

命令格式

mysqldump

-u用户名

-p

数据库名

>

数据库名sql

范例:

mysqldump

-uroot

-p

abc

>

abcsql

(导出数据库abc到abcsql文件)

提示输入密码时,输入该数据库用户名的密码。

22

创建空的数据库

通过主控界面/控制面板,创建一个数据库。假设数据库名为abc,数据库全权用户为abc_f。

23

将sql脚本导入执行

同样是两种方法,一种用phpmyadmin(mysql数据库管理)工具,或者mysql命令行。

231

用phpmyadmin工具

从控制面板,选择创建的空数据库,点“管理”,进入管理工具页面。

在"sql"菜单中,浏览选择刚才导出的sql文件,点击“执行”以上载并执行。

注意:phpmyadmin对上载的文件大小有限制,php本身对上载文件大小也有限制,如果原始sql文件

比较大,可以先用gzip对它进行压缩,对于sql文件这样的文本文件,可获得1:5或更高的压缩率。

gzip使用方法:

#

gzip

xxxxxsql

得到

xxxxxsqlgz文件。

提示输入密码时,输入该数据库用户名的密码。

3

直接拷贝

如果数据库比较大,可以考虑用直接拷贝的方法,但不同版本和 *** 作系统之间可能不兼容,要慎用。

31

准备原始文件

用tar打包为一个文件

32

创建空数据库

33

解压

在临时目录中解压,如:

cd

/tmp

tar

zxf

mydbtargz

34

拷贝

将解压后的数据库文件拷贝到相关目录

cd

mydb/

cp

/var/lib/mysql/mydb/

对于freebsd:

cp

/var/db/mysql/mydb/

35

权限设置

将拷贝过去的文件的属主改为mysql:mysql,权限改为660

chown

mysql:mysql

/var/lib/mysql/mydb/

chmod

660

/var/lib/mysql/mydb/

打字不易,如满意,望采纳。

数据太大,用数据库客户端软件直接导入非常卡,还是直接执行SQL吧。

1、指定文件路径。

2、字段之间以逗号分隔,数据行之间以\r\n分隔(我这里文件是以\n分隔的)。

3、字符串以半角双引号包围,字符串本身的双引号用两个双引号表示。

Sql代码

复制代码 代码如下:

load data infile 'D:\\top-1mcsv'

into table `site`

fields terminated by ',' optionally enclosed by '"' escaped by '"'

lines terminated by '\n';

顺带也备份个导出吧。

Sql代码

复制代码 代码如下:

select from `site`

into outfile 'D:\\top-1mcsv'

fields terminated by ',' optionally enclosed by '"' escaped by '"'

lines terminated by '\n';

以上就是关于怎么快速导入一个超大的mysql文件全部的内容,包括:怎么快速导入一个超大的mysql文件、300兆的sql文件如何导入mysql数据库中、如何在mysql中导入/导出超大的sql文本文件等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9468462.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-28
下一篇 2023-04-28

发表评论

登录后才能评论

评论列表(0条)

保存