How can I correct MySQL Load Error

前端 未结 4 1353
面向向阳花
面向向阳花 2020-11-29 02:56

I\'m not quite sure a similar question to this was closed by I\'m trying to execute the following MySQL program.

mysql -e \"load data local infile \\
\'/tmp         


        
4条回答
  •  臣服心动
    2020-11-29 03:42

    As documented under Security Issues with LOAD DATA LOCAL:

    To deal with these problems, we changed how LOAD DATA LOCAL is handled as of MySQL 3.23.49 and MySQL 4.0.2 (4.0.13 on Windows):

    • By default, all MySQL clients and libraries in binary distributions are compiled with the --enable-local-infile option, to be compatible with MySQL 3.23.48 and before.

    • If you build MySQL from source but do not invoke configure with the --enable-local-infile option, LOAD DATA LOCAL cannot be used by any client unless it is written explicitly to invoke mysql_options(... MYSQL_OPT_LOCAL_INFILE, 0). See Section 20.6.6.49, “mysql_options()”.

    • You can disable all LOAD DATA LOCAL statements from the server side by starting mysqld with the --local-infile=0 option.

    • For the mysql command-line client, enable LOAD DATA LOCAL by specifying the --local-infile[=1] option, or disable it with the --local-infile=0 option. For mysqlimport, local data file loading is off by default; enable it with the --local or -L option. In any case, successful use of a local load operation requires that the server permits it.

    • If you use LOAD DATA LOCAL in Perl scripts or other programs that read the [client] group from option files, you can add the local-infile=1 option to that group. However, to keep this from causing problems for programs that do not understand local-infile, specify it using the loose- prefix:

      [client]
      loose-local-infile=1
      
    • If LOAD DATA LOCAL is disabled, either in the server or the client, a client that attempts to issue such a statement receives the following error message:

      ERROR 1148: The used command is not allowed with this MySQL version

提交回复
热议问题