Mac上csv导入mysql提示错误[Error Code] 1290 - The MySQL server is running with the --secure-file-priv option...

本文介绍了如何在MySQL中设置secure_file_priv参数以允许CSV文件的导入导出,并提供了具体的命令示例,包括如何修改配置文件及重启MySQL服务。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.进入mysql查看secure_file_prive的值

$mysql -u root -p

mysql>SHOW VARIABLES LIKE "secure_file_priv";

secure_file_prive=null   -- 限制mysqld 不允许导入导出

secure_file_priv=/tmp/   -- 限制mysqld的导入导出只能发生在/tmp/目录下

secure_file_priv=' '         -- 不对mysqld 的导入 导出做限制

2.更改secure_file_pri的值

/usr/local/mysql/support-files中的my-default.cnf配置文件,就把它复制到/private/etc中,重命名为“my.cnf”,并加入secure_file_priv='',重启mysql服务器即可。

3.导入csv文件

-- sql导入csv文件
load data local infile '/Users/jojo/dumps/train.csv' --文件目录
into table new_table -- 这里导入csv会出错,具体解决方法见"问题解决"
fields terminated by','optionally enclosed by '"' escaped by '"'
-- 字段之间以逗号分隔,字符串以半角双引号包围,字符串本身的双引号用两个双引号表示
lines terminated by'\r\n' -- 数据行之间以\r\n分隔

4.导出csv文件

select * from table_name
into outfile 'C:/ProgramData/MySQL/MySQL Server 5.7/xx.csv'
FIELDS TERMINATED BY ','   
OPTIONALLY ENCLOSED BY '"'   
LINES TERMINATED BY '/n' 

 

转载于:https://www.cnblogs.com/jojo276/p/6501659.html

错误1290 表示MySQL服务器正在运行,并且启用了`--secure-file-priv`选项,因此无法执行此操作。这个错误通常出现在尝试读取或写入非当前数据库目录下的文件时。 ### `--secure-file-priv`选项说明: `--secure-file-priv`是一个MySQL配置选项,它允许指定一个目录,在该目录下MySQL可以创建、修改或读取文件。这是为了增加安全性,防止敏感数据暴露给潜在的攻击者。默认情况下,如果服务器未设置此选项,则MySQL可以在其安装目录及其子目录下自由地创建或访问文件。 ### 解决方案: 如果你收到此错误信息,你需要检查以下几个方面来解决问题: 1. **确认路径权限**:确保目标文件所在目录有正确的权限设置,使得MySQL用户有足够的权限读写这些文件。 使用命令行工具如`ls -l`查看文件的权限设置,确保它们允许了文件所有者、组和其他用户所需的执行、读取、写入权限。 2. **更改或禁用`--secure-file-priv`选项**: 如果你的应用程序需要访问特定目录下的文件,你可以考虑暂时禁用这个安全特性。不过请注意,这会降低系统安全性能。修改MySQL配置文件(通常是my.cnf 或 my.ini),将`--secure-file-priv`选项注释掉或者将其值设置为空字符串(``),重启MySQL服务生效。 ``` # 在my.cnf文件中查找并注释或删除下面一行 [--secure-file-priv=/path/to/allowed/files] ``` 3. **更新应用程序**: 确保应用程序能够适应现有的环境限制,例如通过修改脚本或应用逻辑,使其仅操作允许的目录内的文件,或者通过调整文件存储策略来避免跨目录操作。 4. **测试更改**: 保存更改后,重启MySQL服务,然后尝试再次执行引起错误的操作,确保问题已经解决。 ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值