Spec-Zone .ru
спецификации, руководства, описания, API
|
Расположение значения по умолчанию для Unix снабжает сокетом файл, который использование сервера для передачи с
локальными клиентами /tmp/mysql.sock
. (Для некоторых форматов распределения
каталог мог бы отличаться, такой как /var/lib/mysql
для ОБОРОТОВ В МИНУТУ.)
На некоторых версиях Unix любой может удалить файлы в /tmp
каталог или другие
подобные каталоги используются для временных файлов. Если файл сокета располагается в таком каталоге на Вашей
системе, это могло бы вызвать проблемы.
На большинстве версий Unix можно защитить Ваш /tmp
каталог так, чтобы файлы могли
быть удалены только их владельцами или суперпользователем (root
). Чтобы сделать
это, установите sticky
обдумывал /tmp
каталог, входя
в систему как root
и использование следующей команды:
shell> chmod +t /tmp
Можно проверить ли sticky
бит устанавливается, выполняясь ls
-ld /tmp
. Если последний символ разрешения t
, бит устанавливается.
Другой подход должен изменить место, где сервер создает файл сокета Unix. Если Вы делаете это, следует также позволить клиентским программам знать новое расположение файла. Можно определить расположение файла несколькими способами:
Определите путь в глобальном или локальном файле опции. Например, вставьте
следующие строки /etc/my.cnf
:
[mysqld]socket=/path/to/socket[client]socket=/path/to/socket
Определите a --socket
опция на командной строке к mysqld_safe и когда Вы выполняете клиентские программы.
Установите MYSQL_UNIX_PORT
переменная окружения к пути
Unix снабжает файл сокетом.
Перекомпилируйте MySQL из источника, чтобы использовать различное расположение
файла сокета Unix значения по умолчанию. Определите путь к файлу с MYSQL_UNIX_ADDR
опция, когда Вы выполняете CMake. См. Раздел
2.9.4, "MySQL Source-Configuration Options".
Можно протестировать, работает ли новое расположение сокета, пытаясь соединиться с сервером с этой командой:
shell> mysqladmin --socket=/path/to/socket
version