MySQL中大数据库的导出和导入

原创
2016-06-07 17:52:46 701浏览

在mysql要导入超大数据库我们如果有服务管理权限直接在mysql data目录下载把你要复制的数据打包,然后放到要导入的data目录下即可,但是如果没有这个权限我们只能按下面方法操作了。

这时用MySQL的原生工具就能很好地解决这些问题了。

总记录数: 1016126, 每行平均大小 46822


假设我们要对一个名为blog的数据库进行导出和导入的操作

导出:

mysqldump -u数据库用户名 -p密码 blog > 路径/导出名.sql

代码如下 复制代码

方法: mysqldump -t -n --default-character-set=latin1 test yejr > /backup/yejr.sql

耗时: 2124 sec


具体的操作是这样的,打开命令提示符(这里都以Windows系统为例),进入mysql安装所在目录中的bin文件夹(因为我的mysql没有安装为本地服务,所以要进行这一步),最后输入运行上面的那条命令即可。

导入:

mysql -u数据库用户名 -p密码 blog

代码如下 复制代码

方法: mysql test

上面的方法感觉在性能上还是可以优化的,后来我们再尝试一下利用outfile

导出成文本

代码如下 复制代码

方法: SELECT * INTO OUTFILE '/backup/yejr.txt' FROM yejr;

耗时: 3252.15 秒


操作如上,用命令提示符进入bin文件夹后,输入运行该命令即可。

结论:

1. 用 load data 是较快的方法

2. 大数据量情况下, 最好是创建好表之后, 同时也要创建好相关的索引. 虽然说没有索引时导入更快, 但是数据导入完成之后再创建索引总共的耗时比事先创建好了再导入要来的多多了.

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。