如“ 安全问题”中所述
LOAD DATA LOCAL:
为了解决这些问题,我们更改了
LOAD DATA LOCAL从MySQL 3.23.49和MySQL 4.0.2(在Windows为4.0.13)开始的处理方式:
默认情况下,所有二进制分发版本的MySQL客户端和库都使用该
--enable-local-infile选项进行编译,以与MySQL
3.23.48及更低版本兼容。如果您从源代码构建MySQL,但不使用该
--enable-local-infile选项调用configure,那么LOAD DATALOCAL除非明确将它编写为invoke,否则任何客户端都不能使用它mysql_options(...MYSQL_OPT_LOCAL_INFILE, 0)。参见第20.6.6.49节“mysql_options()”。您可以
LOAD DATA LOCAL通过使用选项启动mysqld来禁用服务器端的所有语句--local-infile=0。对于mysql命令行客户端,
LOAD DATALOCAL通过指定--local-infile[=1]选项启用,或使用--local-infile=0选项禁用它。对于mysqlimport,默认情况下关闭本地数据文件加载;使用--local或-L选项启用它。无论如何,成功使用本地加载 *** 作都需要服务器允许它。如果
LOAD DATA LOCAL在Perl脚本或其他[client]从选项文件中读取该组的程序中使用,则可以将local-infile=1选项添加到该组中。但是,为了防止这种情况对不了解的程序造成问题,请local-infile使用loose-前缀指定它:[客户]Pine-local-infile = 1
如果
LOAD DATA LOCAL在服务器或客户端中被禁用,则尝试发出此类语句的客户端将收到以下错误消息:ERROR 1148: The used command is not allowed with this MySQL version
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)