MySQL导出数据

本文介绍了因MySQL的secure_file_priv设置导致无法导出数据到TXT文件的问题,并提供了详细的解决方案,包括修改配置文件my.ini中的secure_file_priv路径设置。

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

之前按照官网的手册,已经有了menagerie数据库(database),里面包含pet表(table),如下图:

161433_4zMj_1165991.png

导出数据到txt文件中:

SELECT * FROM pet
INTO OUTFILE 'C:/Users/idy/Desktop/backup.txt';

结果如下:

111559_DT2O_1165991.jpg

原因及解决方法:

由于--secure-file-priv变量的设置导致不允许mysql数据导出。

在C:\ProgramData\MySQL\MySQL Server 5.7路径下找到并打开my.ini文件,找到secure-file-priv="C:/ProgramData/MySQL/MySQL Server 5.7/Uploads"将其注销掉,然后重启mysql数据库,这个问题就解决了。

162333_m34a_1165991.png

使用SHOW VARIABLES LIKE "secure_file_priv";命令查看secure-file-priv的value值(默认情况下Value为路径C:\ProgramData\MySQL\MySQL Server 5.7\Uploads)

161940_A1ui_1165991.png

重新导出:

162703_qMvO_1165991.png

在桌面上新建了backup.txt后重新导出:

162744_7bSK_1165991.png

依然没有创建和写文件的权限~~~~(>_<)~~~~不成功

 

以上内容的问题最终都是因为mySQL读写本地文件的权限。我的mySQL中途因为未知原因导致不能启动,我又重新进行了按照,之前的表已经没有了。当我重新再打开我的数据库的时候,发现解决上面的问题比我想象的要简单的多:

实际上secure_file_priv这个安全属性已经设置了路径,如下图:

102741_0t5P_1165991.png

只需要将我们导文件的路径设置成secure_file_priv对于的Value值就可以了,在C:\ProgramData\MySQL\MySQL Server 5.7\Uploads\路径下面,符合secure_file_priv的安全配置,同时拥有文件读写权限。当然我们应该也可以修改my.ini文件中secure_file_priv的路径。结果如下图(随便找了张表导出来):

103104_Apqq_1165991.png

103112_hT9w_1165991.png

参考:

  1. http://www.runoob.com/mysql/mysql-database-export.html【MySQL 导出数据】
  2. https://www.oschina.net/question/1165991_2200405【--secure-file-priv如何设置成允许mysql数据导出】
  3. https://www.oschina.net/question/1165991_2200466【mysql导出数据报错,不能创建或者写入文件】

 

转载于:https://my.oschina.net/u/1165991/blog/756953

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值