Вы не можете (абсолютно не можете) заменить канал файловой системы /var/run/mysqld/mysql.sock
обычным файлом. Вам необходимо использовать mkfifo(1)
для создания pipe(7)
, который клиенты используют для связи с сервером mysql.
(13)
вероятно также означает, что у вас есть отказано в разрешении ошибка возврата EACCES
(которая обычно имеет десятичное значение 13
- да, я ' Я видел это много).
Если права доступа к файловой системе настроены правильно, возможно, вы получили отказ в доступе с помощью инструмента обязательного контроля доступа , такого как AppArmor , SELinux , TOMOYO или SMACK .
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
.)
Если у вас есть подобные сообщения об ошибках, запустите aa-logprof
как root
и ответьте на вопросы. Более подробную информацию о конфигурации AppArmor можно найти на справочной странице apparmor.d(5)
или на некоторых различных вики-страницах .