¿Por qué faltan “mysqld.pid” y “mysqld.sock” en mi sistema aunque los valores estén establecidos en “my.cnf”?

¿Por qué faltan “mysqld.pid” y “mysqld.sock” en mi sistema aunque los valores estén establecidos en “my.cnf”?

yo estaba trabajando enuna respuesta a esta pregunta—en uno de mis servidores de desarrollo Ubuntu 12.04.5—y me di cuenta de que la instalación de MySQL no estaba creando mysqld.pidarchivos mysqld.socka pesar de que sus rutas estaban explícitamente configuradas my.cnfde esta manera:

[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

¿Por qué sucedería esto y qué se puede hacer para resolver el problema?

Respuesta1

Aunque las ubicaciones de mysqld.pidy mysqld.sockestán configuradas en mi servidor my.cnf, el directorio no existe, por lo que esos archivos nunca se crean. Esto solucionará eso:

Primero, cree el mysqld/directorio /var/run/así:

sudo mkdir -p /var/run/mysqld/

Luego, crea un mysqld.pidarchivo con touch:

sudo touch /var/run/mysqld/mysqld.pid

A continuación, cree un mysqld.sockarchivo con touch:

sudo touch /var/run/mysqld/mysqld.sock

Ahora, cambie la propiedad del directorio y los archivos de mysql:mysqlesta manera:

sudo chown mysql:mysql -R /var/run/mysqld

Finalmente, los permisos sobre esos archivos deberían ser:

chmod 755 /var/run/mysqld
chmod 777 /var/run/mysqld/mysqld.sock
chmod 660 /var/run/mysqld/mysqld.pid

Y reinicie MySQL de esta manera para configurar y crear esos archivos:

sudo service mysql restart

Cuando todo esté hecho, MySQL podrá crear los archivos mysqld.pidy mysqld.sockcomo se esperaba.

información relacionada