私は この質問への回答 —私の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
なぜこれが発生し、問題を解決するために何ができるでしょうか?
mysqld.pid
とmysqld.sock
の場所はサーバーのmy.cnf
に設定されていますが、ディレクトリが存在しないため、これらのファイルは作成されません。これはそれを修正します:
最初に、次のようにmysqld/
に/var/run/
ディレクトリを作成します。
Sudo mkdir -p /var/run/mysqld/
次に、touch
を使用してmysqld.pid
ファイルを作成します。
Sudo touch /var/run/mysqld/mysqld.pid
次に、touch
を使用してmysqld.sock
ファイルを作成します。
Sudo touch /var/run/mysqld/mysqld.sock
次に、ディレクトリとファイルの所有権を次のようにmysql:mysql
に変更します。
Sudo chown mysql:mysql -R /var/run/mysqld
次のようにMySQLを再起動して、これらのファイルを設定および作成します。
Sudo service mysql restart
すべて完了すると、MySQLはmysqld.pid
およびmysqld.sock
ファイルを期待どおりに作成できるようになります。