使用load data infile来导入导出数据

先导出数据

mysql> select * from timer_gps_posinfo where time>‘2017-01-01 00:00‘ and time <‘2017-01-02 00:00‘ into outfile ‘/home/posinfo.txt‘ fields terminated by ‘,‘;

报错:

ERROR 1290 (HY000): The MySQL server is running with the --secure-file-priv option so it cannot execute this statement

解决:两种方法

1.使用

mysql>SHOW VARIABLES LIKE "secure_file_priv";
+------------------+-----------------------+
| Variable_name    | Value                 |
+------------------+-----------------------+
| secure_file_priv | /var/lib/mysql-files/ |
+------------------+-----------------------+
1 row in set (0.00 sec)

查看授权路径。

2.禁用secure-file-priv可通过修改配置文件生效。

再试

mysql> select * from timer_gps_posinfo where time>‘2017-01-01 00:00‘ and time <‘2017-01-02 00:00‘ into outfile ‘/var/lib/mysql-files/posinfo.txt‘ fields terminated by ‘,‘;
Query OK, 4532130 rows affected (16.18 sec)

成功导出,用时16秒。

同一台机器,起了个docker-mysql,在新mysql中建立空数据库和表结

使用

mysql> load data infile ‘/var/lib/mysql-files/posinfo.txt‘ into table timer_gps_posinfo fields terminated by ‘,‘;
Query OK, 4532130 rows affected (17.28 sec)
Records: 4532130  Deleted: 0  Skipped: 0  Warnings: 0

导入完成。

				
时间: 2024-09-30 07:22:59

使用load data infile来导入导出数据的相关文章

尝试OUTFIle、INFILE快速导入导出数据

尝试OUTFIle.INFILE快速导入导出数据 应用场景: 前几天开发突然有这么一个需求,想导一份200多G的mysql数据出来到另一台机器上,而且时间有点赶,第一时间就想要使用Xtrabackup来全备与增备.但想到之前使用Xtrabackup来备份恢复的时候出现了各种坑,就问了下同事有什么好建议来快速导出导入数据,后来知道了可以使用select into outfile导出表数据,就冒着尝试一下的心里去弄了一下,得到的结果是惊人的,个人感觉速度要比Xtrabackup快很多. 使用sele

MySQL 之 LOAD DATA INFILE 快速导入数据

SELECT INTO OUTFILE > help select; Name: 'SELECT' Description: Syntax: SELECT [ALL | DISTINCT | DISTINCTROW ] [HIGH_PRIORITY] [MAX_STATEMENT_TIME = N] [STRAIGHT_JOIN] [SQL_SMALL_RESULT] [SQL_BIG_RESULT] [SQL_BUFFER_RESULT] [SQL_CACHE | SQL_NO_CACHE]

MySQL通过 LOAD DATA INFILE 批量导入数据

LOAD DATA INFILE 语句用法 参考手册 本文语句参数使用默认值 PHP:  TP框架环境 // 定义文件路径$file_path = 'LOAD_DATA_LOCAL_INFILE.txt'; set_time_limit(1000); $fhandler = fopen($file_path,'w'); if($fhandler == false){ // 文件打开失败 } $id = 7; $add_time = time(); // 向文件中写入数据 这里是写入 10万条 $

mysqldump、into outfile和load data进行数据库导入导出备份差别

遇到了大批量导入导出数据的时候真的比较麻烦,动则几G的数据,操作起来也是比较慢的,而且如果稍有不慎,还要重写处理,最简单的方法也是效率最低的方法就是使用PHP写导入导出数据程序,用Shell来跑PHP,可是大家一直忽略了mysqldump 和mysql的into outfile 与load data ,如果这几个命令使用灵活了,对于数据库导入导出以及备份是很方便的. 使用mysqldump 和 source导入导出备份数据 如果要导出整个数据库或者某一个数据库的一个表,并且保持数据库中表的名字不

关于MySQL中使用LOAD DATA INFILE导入csv文件时的日期格式问题

在使用MySQL时,常常会用到Load Data Infile来导入数据,在遇到Date类型的列时,有时会遇到格式转换的问题: 首先创建一张简单的people表,包含名字,生日,年龄三个字段: mysql> create table people( -> name varchar(10) NOT NULL, -> birthday date NOT NULL, -> age int NOT NULL); Query OK, 0 rows affected (0.18 sec) 构造

mysql导入数据load data infile用法整理

有时候我们需要将大量数据批量写入数据库,直接使用程序语言和Sql写入往往很耗时间,其中有一种方案就是使用MySql Load data infile导入文件的形式导入数据,这样可大大缩短数据导入时间. 假如是从MySql客户端调用,将客户端的文件导入,则需要使用 load local data infile. LOAD DATA INFILE 语句以很高的速度从一个文本文件中读取行到一个表中.文件名必须是一个文字字符串. 1,开启load local data infile. 假如是Linux下

mysql导入数据load data infile用法

mysql导入数据load data infile用法 基本语法: load data [low_priority] [local] infile 'file_name txt' [replace | ignore] into table tbl_name [fields [terminated by't'] [OPTIONALLY] enclosed by ''] [escaped by'\' ]] [lines terminated by'n'] [ignore number lines]

mysql load data infile 导入数据

我们常常导入数据!mysql有一个高效导入方法,那就是load data infile 下面来看案例说明 基本语法: load data [low_priority] [local] infile 'file_name txt' [replace | ignore] into table tbl_name [fields [terminated by't'] [OPTIONALLY] enclosed by ''] [escaped by'\' ]] [lines terminated by'n

快速的mysql导入导出数据(load data和outfile)

1.load data: ***实际应用:把日志生成的xls文件load到MySQL中: mysql_cmd = "iconv -c -f utf-8 -t gbk ./data/al_ver_" + yesterday_time + ".xls -o ./data/GBK_al_ver_" + yesterday_time + ".xls " print(mysql_cmd) os.system(mysql_cmd) mysql_cmd = &