首页 > 代码库 > mysql load 从文件读入数据提示ERROR 1148
mysql load 从文件读入数据提示ERROR 1148
创建数据表
在连接mysql的时候加上--local-infile的参数 然后导入即可
原因分析:根据官方的解释是mysql在编译的时候默认把local-infile的参数设为0,就是关闭了从本地load的功能,所以如果需要使用只能自己打开 通过链接的时候把该参数设置为1的方式
<span style="font-size:18px;">CREATE TABLE weblogs( md5 varchar(32), url varchar(64), request_date date, request_time time, ip varchar(15)) </span>
我的版本是:Server version: 5.5.38-0ubuntu0.12.04.1-log (Ubuntu)
在使用如下命令导入时会报错:
<span style="font-size:18px;">mysql> LOAD DATA LOCAL INFILE '/home/hadoop/weblog_entries.txt' INTO table weblogs FIELDS TERMINATED BY '\t' LINES TERMINATED BY '\n'; ERROR 1148 (42000): The used command is not allowed with this MySQL version </span>
提示这个版本的mysql不支持这样导入
解决办法:http://dev.mysql.com/doc/refman/5.5/en/load-data-local.html
<span style="font-size:18px;">hadoop@caozw:~$ mysql -uroot<span style="background-color: rgb(255, 0, 0);"> --local-infile=1</span> -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 45 Server version: 5.5.38-0ubuntu0.12.04.1-log (Ubuntu) Copyright (c) 2000, 2014, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql> use realworld; Reading table information for completion of table and column names You can turn off this feature to get a quicker startup with -A Database changed mysql> <span style="color:#FF0000;">LOAD DATA LOCAL INFILE '/home/hadoop/weblog_entries.txt' INTO table weblogs FIELDS TERMINATED BY '\t' LINES TERMINATED BY '\n'</span>; Query OK, 3000 rows affected (1.17 sec) Records: 3000 Deleted: 0 Skipped: 0 Warnings: 0 </span>
在连接mysql的时候加上--local-infile的参数 然后导入即可
或者使用如下方式:
<span style="font-size:18px;">mysql -u [youruser] -h [youraddress] -p [yourpassword] [yourdatabase] --local-infile=1 -e "[yourcmd]" </span>
<span style="font-size:18px;">mysql -uroot -p123456 realworld --local-infile=1 -e "LOAD DATA local INFILE '/home/hadoop/weblog_entries.txt' INTO table weblogs FIELDS TERMINATED BY '\t' LINES TERMINATED BY '\n'"</span>
原因分析:根据官方的解释是mysql在编译的时候默认把local-infile的参数设为0,就是关闭了从本地load的功能,所以如果需要使用只能自己打开 通过链接的时候把该参数设置为1的方式
另外windows下面的换行符和linux的是不一样的
windows换行是\r\n,十六进制数值是:0D0A。
LINUX换行是\n,十六进制数值是:0A
mysql load 从文件读入数据提示ERROR 1148
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。