最近在做mysql的数据导入导出得到的一些经验,记录下。

1.首先要开通导入导出的功能,需要设置一个mysql的配置

可以在 my.conf 文件的最后增加配置项 secure-file-priv=''

用这个命令查到当前的设置 

SHOW VARIABLES LIKE '%secure_file_priv%';
如果为 NULL 表示禁止导入导出,如果指定了具体路径,则导入导出必须在这个路径下,如果为空字符串,则可以导出到任意路径(必须要有足够权限写任意的路径权限) 如果权限不够则可以默认到mysql的数据文件目录; 没有设置的错误信息,
错误代码: 1290
The MySQL server is running with the --secure-file-priv option so it cannot execute this statement 2.权限问题,在windows下权限问题好解决。在linux下 mysql的用户权限有限,所以我只能默认导出的mysql的数据文件下。 -- 如果指定路径则需要当前用户具有很高的权限才行,默认的话基本可以导出
-- 默认路径为mysql的数据文件存放路径 可以用这个命令查看文件放哪个路径
SHOW VARIABLES LIKE '%datadir%' SELECT * INTO OUTFILE '2.txt' FIELDS TERMINATED BY ',' ENCLOSED BY '\"' LINES TERMINATED BY '\n' FROM mtdwgl_syn.irms_trans_pipehole; LOAD DATA INFILE '/data/mysql/2.txt' INTO TABLE mtdwgl_res.tb_irms_trans_pipehole CHARACTER SET utf8 FIELDS TERMINATED BY ',' ENCLOSED BY '\"' LINES TERMINATED BY '\n'; 3.经过测试2300W条记录 导出花了1分46秒 SELECT * INTO OUTFILE '2.txt' FIELDS TERMINATED BY ',' ENCLOSED BY '\"' LINES TERMINATED BY '\n' FROM mtdwgl_syn.irms_trans_pipehole;
Query OK, 23040110 rows affected (1 min 46.01 sec) 导入花了 3分22秒 LOAD DATA INFILE '/data/mysql/2.txt' INTO TABLE mtdwgl_res.tb_irms_trans_pipehole CHARACTER SET utf8 FIELDS TERMINATED BY ',' ENCLOSED BY '\"' LINES TERMINATED BY '\n';
Query OK, 23040110 rows affected (3 min 22.10 sec)
Records: 23040110 Deleted: 0 Skipped: 0 Warnings: 0

文件大小,测试的是2.txt文件,4.8G

sudo du -h /data/mysql/*.txt
480M /data/mysql/1.txt
4.8G /data/mysql/2.txt

  

linux下mysql 文件导入导出的更多相关文章

  1. Linux下mysql命令 导入 导出sql文件

    导出数据库 直接使用命令: mysqldump -u root -p abc >abc.sql 然后回车输入密码就可以了: mysqldump -u 数据库链接用户名 -p  目标数据库 > ...

  2. Linux下MySQL 命令导入导出sql文件

    导出数据库 直接使用命令: mysqldump -u root -p database >database.sql 然后回车输入密码就可以了: mysqldump -u 数据库链接用户名 -p ...

  3. linux下mysql数据库导入导出命令

    首先linux 下查看mysql相关目录root@ubuntu14:~# whereis mysqlmysql: /usr/bin/mysql----   mysql的运行路径 /etc/mysql ...

  4. MySql 文件导入导出

    1.将表输出到文件 select * FROM zhilianzhaopin4 INTO OUTFILE 'G:/test.csv'      --------输出位置 fields terminat ...

  5. linux下mysql数据的导出和导入

    导出整个数据库中的全部数据 1.在linux命令行下输入: mysqldump -u userName -p dabaseName > fileName.sql fileName.sql最好加上 ...

  6. linux下mysql数据导入到redis

    自Redis 2.6以上版本起,Redis支持快速大批量导入数据,即Pipe传输.通过将要导入的命令转换为Resp格式,然后通过MySQL的concat()来整理出最终导入的命令集合,以达到快速导入的 ...

  7. 数据库MySQL基本介绍安装使用及文件导入导出

    1.数据库(data base) 1.1 简述 把文件存储在一台电脑上(服务器),其他电脑用户可以通过账号密码登陆,通过网络去访问这台电脑上的文件,但是由于每个人的数据是不同的,所以你只能通过自己的账 ...

  8. CSV文件导入导出MySQL

    使用SQLyog 工具导入文件数据到MySQL: Excel文件导入导出: 需要驱动:Microsoft Office 2007驱动 导入需要注意的问题:1.Excel里数值列,默认导入会变成浮点型. ...

  9. linux下MySQL安装登录及操作

    linux下MySQL安装登录及操作 二.安装Mysql 1.下载MySQL的安装文件 安装MySQL需要下面两个文件: MySQL-server-4.0.16-0.i386.rpm MySQL-cl ...

随机推荐

  1. register form

    <code class="language-html"><div class="width100 marT15 content_news_list&qu ...

  2. [Beego模型] 三、高级查询

    [Beego模型] 一.ORM 使用方法 [Beego模型] 二.CRUD 操作 [Beego模型] 三.高级查询 [Beego模型] 四.使用SQL语句进行查询 [Beego模型] 五.构造查询 [ ...

  3. Geek地生活,文艺地思考

    本文纯属整理自己零碎杂乱的思绪,和题目无关.           不知觉间,大学已经两年过去了,忙忙碌碌了两年,大一那年參加了学生会编 辑部和艺术团舞蹈队,课余时间的生活总是被舞蹈队排练.參演和编辑部 ...

  4. mac环境下intellij的自定义配置文件位置

    ~/Library/Preferences/IntelliJIdea2017.2/

  5. DNS的域名的解析解决办法(openDNS)

    http://www.williamlong.info/archives/1101.html

  6. grid - 网格项目跨行或跨列

    默认情况下网格项目跨度只有一个列和行,但可以跨越多个行和列. 1.可以通过设置grid-column-end和grid-column-start距离多个网络线号实现多个列跨越. <view cl ...

  7. M1 卡技术规范

    射频卡简单来讲就是卡的一种工作方式,通过感应的方式来工作,也能够把全部的感应卡都统称为射频卡. IC卡的范围比較广.芯片外露的接触式IC卡.芯片内置的感应式IC卡和双界面IC卡都可统称为IC卡.IC卡 ...

  8. 基于CentOS搭建私有云服务

    系统版本:CentOS 7.2 64 位操作系统 部署 XAMPP 服务 下载 XAMPP(XAMPP 是个集成了多个组件的开发环境,包括 Apache + MariaDB + PHP + Perl. ...

  9. 【CLR】详解CLR中的程序集

    目录结构: contents structure [+] 程序集的简介 为程序集分配强名称 如何指定程序集的版本资源信息 如何对程序集签名 全局程序集缓存 如何查看程序集的信息 强命名程序集防串改 1 ...

  10. python gb2312 转换为 utf-8

    url = "" headers = { "Host":"www.chinanews.com", "User-Agent" ...