微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Ubuntu 11.04 – 无法通过套接字’/var/run/mysqld/mysqld.sock’连接到本地MySQL服务器(13)

我现在用谷歌搜索了2天,最初得到了一个
'/var/run/MysqLd/MysqLd.sock' (2)

我通过使用:

sudo touch /var/run/MysqLd/MysqLd.sock
sudo chown -R MysqL /var/run/MysqLd/

现在我收到错误

'/var/run/MysqLd/MysqLd.sock' (13)

所以一切都有正确的权限,文件存在.有什么想法吗?

[编辑]

有它工作,虽然我不确定如何.我以root身份执行aa-logprof,没有任何改变,生气,然后重新设置它开始工作.

你不能(绝对不能)用常规文件替换文件系统管道/var/run/MysqLd/MysqL.sock.您需要使用mkfifo(1)来创建客户端用来与MysqL服务器通信的管道(7).

(13)可能也意味着你有一个权限被拒绝错误返回,EACCES(通常有十进制值13 – 是的,我已经看过很多).

如果正确配置了文件系统权限,则可能是mandatory access control工具(例如AppArmor,SELinux,TOMOYOSMACK)拒绝访问.

AppArmor认预安装在Ubuntu系统上,可能拒绝访问管道.检查/ var / log / syslog,/ var / log / audit / audit.log或dmesg(1)输出,看看如下所示的消息:

type=AVC msg=audit(1320723925.179:45115): apparmor="DENIED"
operation="open" parent=1 profile="/usr/sbin/ntop"
name="/usr/share/ntop/html/PlotKit/excanvas.js" pid=1835 comm="ntop"
requested_mask="r" denied_mask="r" fsuid=122 ouid=0

(但是使用name = / var / run / MysqLd / MysqL.sock代替.)

如果您有这样的错误消息,请以root身份运行aa-logprof并回答问题.有关配置AppArmor的更多信息可以在apparmor.d(5)联机帮助页或某些various wiki pages中找到.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐