我遇到了MySQL的Load Data Local Infile命令的问题。我知道由于安全威胁,他们默认禁用它。我有一个SQL脚本,我想在MySql Workbench中运行。我一直收到错误“1148.这个MySQL版本不允许使用这个命令。”我已经能够使用命令行参数从命令行开始工作。但是我在Workbench中没有取得任何成功。任何帮助,将不胜感激。这是我的剧本。
DROP DATABASE IF EXISTS a2004TS;
CREATE DATABASE IF NOT EXISTS a2004TS;
USE a2004TS;
DROP TABLE IF EXISTS a2004TS_1;
CREATE TABLE a2004TS_1(
Version CHARACTER(25),
Dsetid CHARACTER(6),
V040001 DOUBLE,
..
.
);
SET GLOBAL local_infile = 1;
LOAD DATA LOCAL INFILE '/home/output/sqlCSV/a2004TS.sqlscripts.table1.csv'
INTO TABLE a2004TS_1
FIELDS TERMINATED BY ',' ENCLOSED BY'"'
LINES TERMINATED BY'
'(columns......);
答案 0 :(得分:3)
如果使用禁用LOAD DATA的选项启动服务器,则客户端必须显式调用mysql_options(...)以启用它(http://dev.mysql.com/doc/refman/5.5/en/load-data-local.html)。这在WB中不会发生,因此您无法使用它来加载当前的文件。而是使用命令行客户端。
您可以在http://bugs.mysql.com提交功能请求,以便实施允许导入的处理(例如,偏好设置)。