
私は取り組んでいましたこの質問に対する答え—Ubuntu 12.04.5 開発サーバーの 1 つで、次のようにパスが明示的に設定されているにもかかわらず、MySQL インストールでファイルがmysqld.pid
作成されていないことに気付きました。mysqld.sock
my.cnf
[mysqld]
#
# * Basic Settings
#
user = mysql
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
port = 3306
basedir = /usr
datadir = /var/lib/mysql
tmpdir = /tmp
lc-messages-dir = /usr/share/mysql
skip-external-locking
なぜこのようなことが起こるのでしょうか? また、この問題を解決するにはどうすればよいでしょうか?
答え1
mysqld.pid
との場所がmysqld.sock
サーバーの に設定されているにもかかわらずmy.cnf
、ディレクトリが存在しないため、それらのファイルは作成されません。これを修正するには、次の操作を実行します。
まず、次のようmysqld/
にディレクトリを作成します/var/run/
。
sudo mkdir -p /var/run/mysqld/
次に、次mysqld.pid
のファイルを作成しますtouch
:
sudo touch /var/run/mysqld/mysqld.pid
次に、次mysqld.sock
のファイルを作成しますtouch
:
sudo touch /var/run/mysqld/mysqld.sock
次に、ディレクトリとファイルの所有権をmysql:mysql
次のように変更します。
sudo chown mysql:mysql -R /var/run/mysqld
最後に、これらのファイルの権限は次のようになります。
chmod 755 /var/run/mysqld
chmod 777 /var/run/mysqld/mysqld.sock
chmod 660 /var/run/mysqld/mysqld.pid
これらのファイルを設定して作成するには、次のように MySQL を再起動します。
sudo service mysql restart
すべて完了すると、MySQL は期待どおりにmysqld.pid
およびmysqld.sock
ファイルを作成できるようになります。