1

Я работал над ответом на этот вопрос - на одном из моих серверов разработки Ubuntu 12.04.5 - и понял, что при установке 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 ответ1

4

Несмотря на то, что местоположения для 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

И перезапустите MySQL следующим образом, чтобы установить и создать эти файлы:

sudo service mysql restart

Когда все это будет сделано, MySQL сможет создавать файлы mysqld.pid и mysqld.sock как и ожидалось.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .