我正在尝试将.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。
有问题的终端屏幕截图
答案 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。