MySQL 读文件写入到数据库

引言

大数据确实改变了很多,数以亿计的数据量,通过sql语句,不管是一条一条还是批量的,都不如直接读文件快,所以呢,这里给出两个方法。

方法

方法一 --- sql文件

此方法需要在本机上运行,也就是mysql服务端和sql文件保持在同一台服务器上。
假如:sql文件在 /tmp/backup.sql
我们要写入到数据库中。
命令:也就是通过shell来导入

mysql -uroot -pxxxxxx < /tmp/backup.sql

方法二 --- csv文件

此方法需要在本机上运行,也就是mysql服务端和sql文件保持在同一台服务器上。
登录到mysql客户端后,输入如下命令:

load data infile '/tmp/xxxxxx'
    into table xxxxxx.xxxxxx character set utf8
    fields terminated by ',' optionally enclosed by '"' escaped by '"'
    lines terminated by '\r\n'

注意,最后的\r\n由csv换行符为准,如果使用python,导入失败,可以换成换行的(就是换行,一下回车,可以看下面),unix默认换行符是\r,所以。。。在我的项目中,我是这么写的。

load data infile '/tmp/PLAN_MAPPING_BI'
    into table dxm_export.plan_mapping_bi character set utf8
    fields terminated by ',' optionally enclosed by '"' escaped by '"'
    lines terminated by '
'

emm

大数据平台不可能一台机器叭,所以把导出的文件复制到其他机器,可以使用如下命令

scp 源文件路径 root@10.157.21.29:目标机器路径

提示

相信我,读数据,写mysql,肯定比读文件写入的慢的多得多。

评论 0

还没有评论,来说点什么吧。

提交后需要审核才会公开。