我在使用 MySQL 的 Load Data Local Infile 命令时遇到了问题。我知道由于安全威胁,他们默认禁用它。我有一个 SQL 脚本,我想在 MySql Workbench 中运行。我不断收到错误“1148。此 MySQL 版本不允许使用该命令。”我已经能够使用命令行参数从命令行让它工作。然而我在工作台上没有取得任何成功。任何帮助,将不胜感激。这是我的脚本。
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......);
最佳答案
如果服务器启动时带有禁用 LOAD DATA 的选项,则客户端必须显式调用 mysql_options(...) 来启用它 ( http://dev.mysql.com/doc/refman/5.5/en/load-data-local.html )。这在 WB 中不会发生,因此您当前无法使用它来加载文件。相反,请使用命令行客户端。
您可以通过 http://bugs.mysql.com 提交功能请求实现允许导入的处理(例如首选项设置)。
关于MySQL Workbench 加载数据本地 Infile 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14570668/