2

MySQLのLoadDataLocalInfileコマンドで問題が発生しました。セキュリティ上の脅威のため、デフォルトで無効になっていることを私は知っています。MySqlWorkbenchで実行したいSQLスクリプトがあります。「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......);
4

1 に答える 1

3

LOAD DATA を無効にするオプションを指定してサーバーを起動した場合、クライアントは mysql_options(...) を明示的に呼び出して有効にする必要があります ( http://dev.mysql.com/doc/refman/5.5/en/load-data -local.html )。これは WB では発生しないため、現時点ではファイルのロードに使用できません。代わりに、コマンド ライン クライアントを使用してください。

http://bugs.mysql.comで機能要求を提出して、インポートを可能にする処理を実装することができます (たとえば、環境設定)。

于 2013-01-29T07:41:44.410 に答える