zhwz 发表于 2018-9-29 12:11:22

解决mysql无法导入本地文件的问题

  导入本地文件可以用LOAD DATA LOCAL INFILE的关键字,例如:
  mysql > LOAD DATA LOCAL INFILE '/data/db.txt'
  > INTO TABLE TEMP
  > FIELDS TERMINATED BY ','
  > ENCLOSED BY '“'
  > LINES TERMINATED BY '\n'
  (field1,field2,field3...);
  但是有时候,会出现以下错误提示:
  ERROR 1148 (42000): The used command is not allowed with this MySQL version
  意思就是说不允许这个请求。主要原因就是local-infile这个选项有没有被enable。
  如果是源码安装的mysql,记得configure的时候加一条--enable-local-infile。
  当然像我这种直接apt-get安装的,已经没有这个机会了(sigh。。。)。不过解决的办法还是有很多。
  首先,可以在启动mysqld的时候加一个选项--local-infile=1。
  其次,可以稍微麻烦点儿,在登录mysql的时候加一条选项,--local-infile, 如果是用mysqlimport来导入的话直接加一个-L或者--local的选项就OK。
  最后,一本万利的方法,修改my.cnf,在client下面加一条记录:
  # vi /etc/mysql/my.cnf
  
  ...
  loose-local-infile =1
  # /etc/init.d/mysql restart
  详见官网:
  http://dev.mysql.com/doc/refman/5.0/en/load-data-local.html

页: [1]
查看完整版本: 解决mysql无法导入本地文件的问题