GNU/Linux >> Linux の 問題 >  >> Linux

Linux上のmysql.sockファイルの正しい場所は何ですか?

ソケット宣言は [mysqld] の下にある必要があります あなたの my.cnf で .そこで宣言し、まだ tmp などの別の場所を指している場合 、次にあなたの my.cnf 編集中のファイルが mysql の起動時に読み取られないか、別の my.cnf が存在する 編集していたものを上書きします。 2 番目の Socket がある場合もあります。 同じ my.cnf 内の宣言 mysql によって開始時に読み取られると予想されるファイルをオーバーライドしているファイル。

mysql にログインして実行すると、その絶対パスを確認できます:

mysql> show variables like 'socket';
+-----------------------------------------+-------------------------------+
| Variable_name                           | Value                         |
+-----------------------------------------+-------------------------------+
| socket                                  | /yourpath/mysql.sock          |
+-----------------------------------------+-------------------------------+
1 rows in set (0.00 sec)

いつでもアンマウントされる外部デバイスや時々空になるフォルダを除いて、Linux にはソケットを保存するための正しい場所も間違った場所もありません。配置する場所を構成する必要があります。

MySQL コンソール クライアントの場合、さらに考慮すべきことがあります。クライアントは、[mysqld] ではなく [client] で提供されるソケット構成値を使用しているようです。私のように複数の MySQL サーバーをセットアップしている場合 (4.1、5.5、5.7)、異なるサーバーごとに [client] 部分にソケットを記述した "--defaults-extra-file" オプションを使用することをお勧めします。ソケットは、サーバーで使用される my.cnf [mysqld] 部分で定義されているものと同じである必要があります。以下に defaults-extra-file.cnf の例を示します。必要に応じてユーザー、パスワード、およびソケットを変更することを忘れないでください -アクセス権 400 のままにします (パスワードが保存されています):

[client]
user = guardian
password = I-4m.Gr00t!
host = localhost
socket = /var/run/mysqld/mysqld-5.6.sock

これは、「host」の値として「localhost」を使用している場合にのみ適用されます。複数のローカル アドレス (127.0.0.2、127.0.0.3) がある場合、構成されたソケットを使用するには、「localhost」に「host」の構成変数を残す必要があります。それ以外の場合、クライアントは TCP を使用してサーバーに接続します。

これは、MySQL 4.1.22、5.5.49、および 5.7.19 とそれぞれのクライアントを備えた Debian 9.5 サーバーでテストされました。


Linux
  1. Linuxのiノード番号とは何ですか?

  2. Linux – Gnu / linuxでファイルパーミッションなどを設定するさまざまな方法は何ですか?

  3. Linuxにjdkをインストールする正しい方法は何ですか

  1. 作成時刻を格納する Linux のファイル システムはどれですか?

  2. Linux ファイル階層 - ロックファイルを保存するのに最適な場所は?

  3. Linuxでファイルをコピー、読み取り、削除するコマンドは何ですか

  1. LinuxとUnix:違いは何ですか?

  2. Linux – Linux上のどのファイルシステムが作成時間を保存しますか?

  3. Linuxでの.bashrcファイルの目的は何ですか