|
|
1
193
最近的Ubuntu服务器版本(如10.04)附带了AppArmor,MySQL的概要文件在默认情况下可能处于强制模式。你可以通过执行
如果mysqld包含在强制模式中,那么它可能会拒绝写入。参赛作品也将以英文书写
然后让AppArmor重新加载配置文件。
|
|
|
2
18
Ubuntu使用AppArmor,这就是阻止你访问/data/的原因。Fedora使用selinux,这将在RHEL/Fedora/CentOS机器上防止这种情况。 要修改AppArmor以允许MySQL访问/data/请执行以下操作:
在目录列表中的任意位置添加此行:
另一个选择是完全禁用AppArmor for mysql,这是 :
|
|
|
3
14
|
|
4
7
MySQL在这里越来越蠢了。它试图在/tmp/data/…下创建文件。。。。所以你可以做以下几点:
|
|
|
5
6
这个问题困扰我很久了。我注意到这个讨论并没有指出RHEL/Fecora的解决方案。我使用的是RHEL,在Ubuntu上找不到与AppArmer对应的配置文件,但是我通过使目录路径中的每个目录都可读并可被mysql访问来解决了我的问题。例如,如果您创建一个目录/tmp,下面两个命令使SELECT INTO OUTFILE能够输出.sql和.sql文件
|
|
6
6
您可以这样做:
|
|
|
7
4
一些尝试:
|
|
|
8
3
sudo gedit/etc/apparmor.d/usr.sbin.mysqld
sudo/etc/init.d/apparmor重启
它成功地完成了,并将所有具有选定列的行写入OUTPUT.csv文件。。。 |
|
|
9
2
在我的例子中,解决方案是使目录路径中的每个目录都可读并可被
|
|
|
10
2
我也遇到了同样的问题。我的问题是我试图转储到的目录没有mysqld进程的写权限。初始sql转储将被写出来,但是csv/txt文件的写操作将失败。看起来sql转储以当前用户的身份运行,而到csv/txt的转换以运行mysqld的用户的身份运行。所以目录需要两个用户的写权限。 |
|
11
1
您需要提供绝对路径,而不是相对路径。
|
|
|
12
1
Ubuntu使用SELinux吗?检查是否已启用并强制执行/var/log/audit/audit.log可能会有所帮助(如果Ubuntu坚持这样做的话——那就是RHEL/Fedora的位置)。 |
|
|
13
0
我用命令把它改成了“允许的”
|
|
|
Bard.Mus · 迁移后的数据库字符集环境 1 年前 |
|
Efannnnnn · 将Id数据存储到任何页面 1 年前 |
|
|
yooooo · 用于在块中删除的存储过程-LOOP未执行 1 年前 |
|
John Beasley · 更新一定数量记录的连续日期 1 年前 |
|
|
ColinM · MySQL以前的结果查询返回不正确的值 1 年前 |
|
Sergey_Z · MySQL只需无条件连接2个表和交叉连接 1 年前 |