MySQL 使用设置目录时导出 INTO OUTFILE --secure-file-priv 错误
MySQL exporting INTO OUTFILE --secure-file-priv error when using set directory
我正在尝试 运行 MySQL 数据库中的以下内容:
SELECT * FROM mysql.db
INTO OUTFILE "C:\ProgramData\MySQL\MySQL Server 5.7\Uploads\db.csv"
FIELDS TERMINATED BY '|'
ENCLOSED BY '"'
LINES TERMINATED BY '\n';
我收到错误:
SQL Error (1290): The MySQL server is running with the --secure-file-priv option so it cannot execute this statement
当我运行以下内容时:
mysql> SELECT @@secure_file_priv;
我得到:
+------------------------------------------------+
| @@secure_file_priv |
+------------------------------------------------+
| C:\ProgramData\MySQL\MySQL Server 5.7\Uploads\ |
+------------------------------------------------+
为什么即使我使用的是 set --secure-file-priv 位置它也没有导出文件?
我习惯了 MSSQL,但刚接触 MySQL。
唉。这是一个奇怪的错字,我的 \'s 应该是 /'s
所以我现在的查询是这样的:
SELECT * FROM mysql.db INTO OUTFILE "C:/ProgramData/MySQL/MySQL Server 5.7/Uploads/db_pipe.csv" FIELDS TERMINATED BY '|' ENCLOSED BY '"' LINES TERMINATED BY '\n';
使用以下提到的路径位置很重要:
mysql> SELECT @@secure_file_priv;
如果您将使用自定义路径位置,您仍然会收到此错误。正如 Lateralus 所提到的,不要忘记将路径更改为正斜杠。
这对我有用。它需要双反斜杠,如果您尝试使用介于两者之间的任何工具连接到 mysql,只需添加转义字符即可。
SELECT *
INTO OUTFILE 'C:\\ProgramData\\MySQL\\MySQL Server 8.0\\Uploads\\employees.txt'
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
LINES TERMINATED BY '\n'
FROM employees;
就我而言 (Windows):
在my.ini中设置secure_file_priv=""
在路径中使用双反斜杠,如下所示:
SELECT description, comment FROM usecase
INTO OUTFILE 'C:\tmp\usecase0.csv'
FIELDS ENCLOSED BY '"'
TERMINATED BY ';'
ESCAPED BY '"'
LINES TERMINATED BY '\r\n';
我正在尝试 运行 MySQL 数据库中的以下内容:
SELECT * FROM mysql.db
INTO OUTFILE "C:\ProgramData\MySQL\MySQL Server 5.7\Uploads\db.csv"
FIELDS TERMINATED BY '|'
ENCLOSED BY '"'
LINES TERMINATED BY '\n';
我收到错误:
SQL Error (1290): The MySQL server is running with the --secure-file-priv option so it cannot execute this statement
当我运行以下内容时:
mysql> SELECT @@secure_file_priv;
我得到:
+------------------------------------------------+
| @@secure_file_priv |
+------------------------------------------------+
| C:\ProgramData\MySQL\MySQL Server 5.7\Uploads\ |
+------------------------------------------------+
为什么即使我使用的是 set --secure-file-priv 位置它也没有导出文件?
我习惯了 MSSQL,但刚接触 MySQL。
唉。这是一个奇怪的错字,我的 \'s 应该是 /'s
所以我现在的查询是这样的:
SELECT * FROM mysql.db INTO OUTFILE "C:/ProgramData/MySQL/MySQL Server 5.7/Uploads/db_pipe.csv" FIELDS TERMINATED BY '|' ENCLOSED BY '"' LINES TERMINATED BY '\n';
使用以下提到的路径位置很重要:
mysql> SELECT @@secure_file_priv;
如果您将使用自定义路径位置,您仍然会收到此错误。正如 Lateralus 所提到的,不要忘记将路径更改为正斜杠。
这对我有用。它需要双反斜杠,如果您尝试使用介于两者之间的任何工具连接到 mysql,只需添加转义字符即可。
SELECT *
INTO OUTFILE 'C:\\ProgramData\\MySQL\\MySQL Server 8.0\\Uploads\\employees.txt'
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
LINES TERMINATED BY '\n'
FROM employees;
就我而言 (Windows):
在my.ini中设置
secure_file_priv=""
在路径中使用双反斜杠,如下所示:
SELECT description, comment FROM usecase INTO OUTFILE 'C:\tmp\usecase0.csv' FIELDS ENCLOSED BY '"' TERMINATED BY ';' ESCAPED BY '"' LINES TERMINATED BY '\r\n';