A.4.5 Как защитить или изменить сокет-файл MySQL `/tmp/mysql.sock'

Если возникают проблемы с тем, что кто угодно может удалить коммуникационный сокет 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
    
    See section 4.1.2 Файлы параметров `my.cnf'.
  • Укажите, где расположен файл, в командной строке safe_mysqld и большинства клиентов с помощью опции --socket=путь-к-файлу-сокета.
  • Укажите путь к сокету в переменной окружения MYSQL_UNIX_PORT.
  • Определите путь с помощью опции конфигурирования --with-unix-socket-path=путь-к-файлу-сокета (see section 2.3.3 Типичные опции configure).

Проверить, работает ли сокет, можно следующей командой:

shell> mysqladmin --socket=/path/to/socket version