Если возникают проблемы с тем, что кто угодно может удалить
коммуникационный сокет MySQL /tmp/mysql.sock
, то в большинстве версий Unix
можно защитить содержимое /tmp
, установив на каталоге ``липучий'' (sticky)
бит. Войдите в систему как пользователь root
и выполните следующую
команду:
shell> chmod +t /tmp
Это защитит ваш каталог /tmp
: теперь удалять в нем файлы смогут только их
владельцы или суперпользователь (root
).
Проверить, установлен ли ``липучий'' (sticky) бит, можно, выполнив
ls -ld /tmp
. Если последним битом прав является t
, то
бит установлен.
Изменить путь к каталогу, где MySQL открывает сокет-файл, можно, воспользовавшись одним из следующих способов:
-
Укажите путь в глобальном или локальном файле опций. Например, поместите в
/etc/my.cnf
:[client] socket=path-for-socket-file [mysqld] socket=path-for-socket-file
Укажите, где расположен файл, в командной строке
safe_mysqld
и большинства клиентов с помощью опции--socket=путь-к-файлу-сокета
.Укажите путь к сокету в переменной окружения
MYSQL_UNIX_PORT
.Определите путь с помощью опции конфигурирования
--with-unix-socket-path=путь-к-файлу-сокета
(see Раздел 2.3.3, «Типичные опцииconfigure
»).
Проверить, работает ли сокет, можно следующей командой:
shell> mysqladmin --socket=/path/to/socket version