すべての人が MySQL 通信ソケット
/tmp/mysql.sock
を削除できるということが問題であれば、Unix
の多くのバージョンにおいて、/tmp
ファイルシステムに sticky
ビットを設定することにより、そのファイルシステムを保護できるようになっています。root
としてログインし、以下を行います。
shell> chmod +t /tmp
これによって、/tmp
ファイルシステムが保護され、ファイルの所有者かスーパーユーザ(root
)しかファイルを削除できなくなります。
ls -ld /tmp
を実行して、sticky
ビットが設定されているかどうかを確認できます。
最後のアクセス権ビットが t
であれば、ビットは設定されています。
MySQL がソケットファイルを使用または置く場所を、以下の方法で変更できます。
グローバルオプション設定ファイルまたはローカルオプション設定ファイルのパスを指定する。
たとえば、/etc/my.cnf
に置く場合
[client] socket=path-for-socket-file [mysqld] socket=path-for-socket-file
コマンドラインで
--socket=path-for-socket-file
オプションを使用して、mysqld_safe
と大部分のクライアントに対してソケットを置く場所を指定する。
ソケットファイルのパスを、MYSQL_UNIX_PORT
環境変数で指定する。
configure
を
--with-unix-socket-path=path-for-socket-file
オプションとともに使用して、パスを定義する。
See 項2.3.3. 「一般的な configure
オプション」。
以下のコマンドで、ソケットの動作をテストできます。
shell> mysqladmin --socket=/path/to/socket version
This is a translation of the MySQL Reference Manual that can be found at dev.mysql.com. The original Reference Manual is in English, and this translation is not necessarily as up to date as the English version.