php - Mysql 使 --secure-file-priv 选项为 NULL

标签 php mysql mysql-error-1064

我在 Ubuntu 中运行 MySQL。我在运行特定的一组查询时收到此错误。

The MySQL server is running with the --secure-file-priv option so it cannot execute this statement

当我在我的 mysql 服务器中执行 SELECT @@secure_file_priv; 时,我得到了 /var/lib/mysql-files/。我想我需要将其设置为 NULL

这是我正在运行的查询:

LOAD DATA INFILE :file INTO TABLE test_files
COLUMNS TERMINATED BY ',' ENCLOSED BY '\"'
LINES TERMINATED BY '\n';

现在的问题是如何使这个NULL

最佳答案

尝试:

mysql> SELECT VERSION();
+-----------+
| VERSION() |
+-----------+
| 5.7.12-0  |
+-----------+
1 row in set (0.00 sec)

mysql> SELECT @@GLOBAL.secure_file_priv;
+---------------------------+
| @@GLOBAL.secure_file_priv |
+---------------------------+
| /var/lib/mysql-files/     |
+---------------------------+
1 row in set (0.00 sec)

更改文件:/etc/mysql/my.cnf

[mysqld]
.
.
.
secure_file_priv=NULL
.
.
.

重新启动 MySQL。

mysql> SELECT @@GLOBAL.secure_file_priv;
+---------------------------+
| @@GLOBAL.secure_file_priv |
+---------------------------+
| NULL                      |
+---------------------------+
1 row in set (0.00 sec)

更新

mysql> SELECT @@GLOBAL.secure_file_priv;
+---------------------------+
| @@GLOBAL.secure_file_priv |
+---------------------------+
| /var/lib/mysql-files/     |
+---------------------------+
1 row in set (0.00 sec)

文件:/var/lib/mysql-files/myfile.csv

1,"Row 1"
2,"Row 2"
3,"Row 3"
mysql> DROP TABLE IF EXISTS `test_files`;
Query OK, 0 rows affected, 1 warning (0.00 sec)

mysql> CREATE TABLE IF NOT EXISTS `test_files` (
    ->   `col0` INT,
    ->   `col1` VARCHAR(20)
    -> );
Query OK, 0 rows affected (0.00 sec)

mysql> LOAD DATA INFILE '/var/lib/mysql-files/myfile.csv'
    -> INTO TABLE `test_files`
    -> COLUMNS TERMINATED BY ',' ENCLOSED BY '\"'
    -> LINES TERMINATED BY '\n';
Query OK, 3 rows affected (0.01 sec)
Records: 3  Deleted: 0  Skipped: 0  Warnings: 0

mysql> SELECT
->   `col0`,
->   `col1`
-> FROM
->   `test_files`;
+------+-------+
| col0 | col1  |
+------+-------+
|    1 | Row 1 |
|    2 | Row 2 |
|    3 | Row 3 |
+------+-------+
3 rows in set (0.00 sec)

关于php - Mysql 使 --secure-file-priv 选项为 NULL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37543177/

相关文章:

javascript - 通过任何方法重定向到新选项卡。 (JS、Symfony PHP 组件等)

MySQL 使用 if then else 方法将一条记录选择到函数内部的变量中

mysql - 修复不明确的 SQL 语法错误的正确方法是什么?

java - VBA 连接正常,但 java 不行

mysql - SQL 代码中的错误 1064

php - Paypal 立即购买按钮重定向

php - 将 mysql 结果分组到两个单独的 div 中

php - 添加到数组值

php - MySQL 通过数组插入

mysql - 从 iOS 设备通过 POST 方法将数据插入远程 mysql 数据库