mysql 导出数据库中的某张数据表_mysql导出数据库中某个表的某个字段中所有的内容...

今天因为某些需求,需要导出数据库里某个表里某个字段的一些数据,但是又不需要全部,就有了这篇文章。mysql -uroot -p xw -e "SELECT title from typecho_contents INTO OUTFILE'/mysql/title.sql'"

导出数据库xw下typecho_contents表下的title字段里所有的内容导出到/mysqls/title.sql文件里。

在导出前,请确认有/mysql/这个目录。

在我执行上去命令后,出错了,提示[root@VM_0_5_centos ~]# mysql -uroot -p xw -e "SELECT title from typecho_contents INTO OUTFILE'/mysql/title.sql'"

Enter password:

ERROR 1290 (HY000) at line 1: The MySQL server is running with the --secure-file-priv option so it cannot execute this statement

可以看到,跳出一个1290错误,不要慌,继续查看错误详情,登录数据库,执行以下语句show variables like '%secure%';

20200930173307.png

主要是看 secure_file_priv ;。可以看到,我这里secure_file_priv的 value 为 NULL,代表不允许导出,既然这样那就找到配置文件修改。

找到mysql的配置项文件my.cnf,在[mysqld]的下面添加一句secure_file_priv = /mysql/,这句的意思是允许将数据库导出到/mysql/下的文件夹,修改好后保存后重启mysql即可。

20200930174111.png

宝塔用户可直接到软件商店找到mysql后,点击设置-配置修改 ,同样在在[mysqld]的下面添加一句secure_file_priv = /mysql/即可,修改后记得重启数据库。

20200930174513.png

修改后后再去执行第一条导出命令,哦豁,又出问题了,提示ERROR 1 (HY000) at line 1: Can't create/write to file '/mysql/.sql' (Errcode: 13)

问题很明显,是因为写权限问题所致。

考虑到/mysql/是我刚刚手动创建的,没给权限,可能是这里导致的,在给/mysql/重新设置好权限后,问题就解决了

最后,为了安全考虑,在需要的数据库导出后,我建议你将secure_file_priv = /mysql/这句删掉恢复原状。

参考资料:

感谢两位

E78CAEE9BB84E7939C_2x.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值