重庆分公司,新征程启航

为企业提供网站建设、域名注册、服务器等服务

mysql怎么存大文件 mysql导入文件太大

如何使用mysql存储大文件

设n个线程同时工作, 把文件份成n份,从n份的起始位置开始读,读一部分保存一部分。地n+1个线程读剩余的文件并保存。

成都创新互联主要从事做网站、网站制作、网页设计、企业做网站、公司建网站等业务。立足成都服务下城,十年网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:18982081108

大文件导入 MYSQL,如何最快速

一般的数据备份用 :mysql路径+bin/mysqldump -u 用户名 -p 数据库名 导出的文件名

数据还原是:到mysql命令行下面,用:source   文件名;的方法。

但是这种方法对大数据量的表进行操作就非常慢。因为他不仅导出了数据还导出了表结构。

在针对大数据量的表时,我们可以用infile和 outfile来操作。

outfile导出数据库数据的用法:

下图我们可以看到6百多万数据35秒就搞定了:

下面我们看看infile的语法:

在infile导入数据的时候,我们还可以做一些优化。我们可以用

alter table table_name disable keys   关闭普通索引。等数据导入玩,再用:

alter table table_name enable keys    来开启普通索引。这样就不会边导入数据,边整理索引的二叉树儿影响导数据的效率。

如果可以保证 数据的正确性,我们可以将表的唯一索引也关闭,之后再开启,不是每条数据就算是唯一的他都要去检测一遍。命令:

set unique_checks=0; #关闭唯一校验

set unique_checks=1;#开启唯一校验

如果是InnoDB存储引擎,我们还可以set auto commit=0;关闭自动提交,来提高效率。InnoDB是按主键的顺序保存的,我们将其主键顺序排列也可以提高效率。

下面我们对myisam引擎的表做个测试,我们先不关索引,导入数据(用了近4分钟):

然后我们先把索引关闭试试(只用了一分钟多一点,快了不少啊!摸摸大!):

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

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

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

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

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

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

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

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

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

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

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

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

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

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

mysql 怎么样贮存大文件

你要是做程序的话,应该把图片存在设置的文件夹中,数据库只存图片的路径。

如果想存文件建议用oracle。mysql对存储文件相对效率不高。

高手来~~c# MySql 存储大文件

如果分块的话那我觉得要建立一个表,专门存放这些分块,表的结构为

id 文件的ID号

subVolumeID 文件的分卷号,即:如果该文件有两个分块那么就有1、2两条记录

data 文件的对应分卷号的数据。

在保存文件的时候,先判断需要分多少块,然后以每块一条记录的插入上面所讲的表结构中。

同样,要取的时候就查询此表,然后按照分卷号顺序把文件组合回来即可。

以上就是思路,代码的话可以根据你上面提供的改一下就可以了,不过要注意的是插入记录时要启动事务,避免插入不完整的文件数据。


本文标题:mysql怎么存大文件 mysql导入文件太大
网站URL:http://cqcxhl.cn/article/hpecic.html

其他资讯

在线咨询
服务热线
服务热线:028-86922220
TOP