Ubuntu+Mysql之从格式化文件导入数据库——Load Data 命令使用及local-infile=1用法

时间:2021-05-17 03:47:12

我的测试用格式化文件student.txt 格式是这样的:

sss|19|sss
ss|20|ss
ss|22|ss

首先,安装mysql sudo apt-get install mysql-server

1.登录mysql数据库,mysql -u root -p回车,输入密码即可。

2.create database testLoadData;

3.show databases;

4.use testLoadData;

5.create table test(name varchar(12),age varchar(4),school varchar(20));

6.select * from test;

7.load data local infile '/home/hadoop/testLoadData/student.txt' into table test fileds terminated by '|' lines terminated by '\n';

报错,ERROR 1148 (42000): The used command is not allowed with this MySQL version

因为Mysql编译安装时默认不允许执行这个命令。解决办法:

1)安装时加上 --enable-local-infile 参数就可以了执行了。 ./configure --prefix=/usr/local/mysql --enable-local-infile make make install

2.可以在执行命中加上--local-infile=1 参数即可解决[1]。 也就是说,输入exit退出mysql。重新登:

mysql -u root -p testLoadData --local-infile=1;

然后在执行第七步的LoadData.

8.select * from test;

导入成功。

PS:

关于怎么使用--local-infile=1的问题,纠结了很久。看了[2]才明白的。

[3]为mysql语句大全。不熟悉mysql还得靠它了。

参考网页:

[1] http://blog.csdn.net/karen_wang/article/details/6268769【转】关于MYSQL LOAD DATA LOCAL INFILE 支持问题

[2] http://www.jb51.net/article/33365.htm mysql load data infile 的用法(40w数据 用了3-5秒导进mysql)

[3] http://wenku.baidu.com/view/cf46bac69ec3d5bbfd0a7446.html Mysql语法语句大全