博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
mysql into outfile ERROR : Can't create/write to f
阅读量:6454 次
发布时间:2019-06-23

本文共 1076 字,大约阅读时间需要 3 分钟。

hot3.png

想执行一个如下命令:

mysql -h127.0.0.1 -uuser -ppwd db -e "select id,* from table order by id into outfile '/data/table_1' FIELDS TERMINATED BY '\0' LINES TERMINATED BY '\b' "
抛ERROR 1 (HY000) at line 1: Can't create/write to file '/data/192.168.0.103-t1132_1' (Errcode: 13) 错误。

执行上述命令的是用户:aliang

系统是:2.6.38-8-generic-pae #42-Ubuntu

无论把/data目录改成chmod 777权限还是mysql.mysql用户和组错误照旧。

解决方法:

sudo vi /etc/apparmor.d/usr.sbin.mysqld
在里面添加/data的可写目录,如下:
...
/usr/sbin/mysqld {
    ...
    /var/log/mysql/ r,
    /var/log/mysql/* rw,
    /var/run/mysqld/mysqld.pid w,
    /var/run/mysqld/mysqld.sock w,
    /data/* rw,
}
然后重新载入:
sudo /etc/init.d/apparmor reload/restart
还需要重启mysql,否则会出些莫名其妙的错误,如:
ERROR 1286 (42000) at line 1: Unknown table engine 'InnoDB'

重启mysql:

 sudo service mysql stop
 sudo service mysql start

还有最后一定,把/data目录改成aliang.mysql用户和组,不然/data目录下生成的mysql.mysql文件是没权限删除的:

rm: cannot remove `/data/table_1': Operation not permitted
改成后的路径情况如下:
drwsrwsrwt   2 aliang mysql  4096 2011-08-02 16:15 data/

如果是Linux下,我想情况应该类似,但如果有selinux对目录设置了安全权限,还需要对selinux进行相应设置。

转载于:https://my.oschina.net/qingpei88800/blog/530986

你可能感兴趣的文章
Oracle、PostgreSQL与Mysql数据写入性能对比
查看>>
整理Java基础知识--选择与判断
查看>>
Linux查看程序端口占用情况
查看>>
jar包冲突案例分析.md
查看>>
控制圈复杂度的9种重构技术总结
查看>>
当软件项目全部能靠自己搞定了,也能接几万元的软件项目时,未必适合创业...
查看>>
数据分析--数字找朋友
查看>>
推荐好用的开源库或软件
查看>>
18年selenium3+python3+unittest自动化测试教程(下)
查看>>
Redis集群中删除/修改节点(master、slave)(实验)
查看>>
memcache数据库和redis数据库的区别(理论)
查看>>
我的友情链接
查看>>
MyBatis+Spring结合
查看>>
shell实例-判断apache是否正常启动
查看>>
Office 365之SkyDrive Pro
查看>>
脑残式网络编程入门(二):我们在读写Socket时,究竟在读写什么?
查看>>
无缝滚动实现原理分析【公告栏】
查看>>
Java Web 高性能开发
查看>>
redis-cli 命令总结
查看>>
CentOS 4.4双网卡绑定,实现负载均衡
查看>>