我的语法中的错误是什么阻止我将数据文件加载到mysql中

时间:2016-04-17 05:44:21

标签: mysql ubuntu syntax

我正在尝试将.txt文件上传到我刚刚创建的sql数据库中。

我能够使用INSERT INTO将几行数据加载到表中,但是当我尝试使用LOAD DATA LOCAL INFILE '/pathto/file.txt' INTO TABLE mytable时,它首先给了我错误,我的mysql版本中不允许该命令。

所以在我阅读How can I correct MySQL Load Error之后,我使用了--local-infile=1 -u mysqlname -p,然后使用上面的命令,我一再被授予语法错误。

我已经尝试过将.txt文件加载到上面的各种不同组合中,但仍然会得到两个错误中的一个。

下面是一个截屏。

这是ubuntu 15.10和mysql版本5.6.28-0ubuntu0.15.10.1。

有问题的终端屏幕截图

enter image description here

1 个答案:

答案 0 :(得分:0)

--local-infile是服务器和客户端参数。它不是语句的有效语句,如LOAD DATA或INSERT语句。

您可以在my.cnf文件的相应部分中指定服务器变量和选项,或者作为正在执行的MySQL程序的命令行参数。

例如,在OS提示符下......

# mysql -h myserverhost -u mysqlname -p --local-infile=1 

必须为MySQL服务器指定该选项。

如果您以用户@ localhost身份进行连接,则不需要LOCAL。您可以为要加载的文件的MySQL用户(运行mysql服务器的操作系统用户)提供读取权限... chmod ugo+r /mypath/myfile(并在路径中的目录上读取execute。

如果msyql用户不是@'localhost',则只需要LOCAL。