
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.pid
archivos mysqld.sock
a pesar de que sus rutas estaban explícitamente configuradas my.cnf
de 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.pid
y mysqld.sock
está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.pid
archivo con touch
:
sudo touch /var/run/mysqld/mysqld.pid
A continuación, cree un mysqld.sock
archivo con touch
:
sudo touch /var/run/mysqld/mysqld.sock
Ahora, cambie la propiedad del directorio y los archivos de mysql:mysql
esta 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.pid
y mysqld.sock
como se esperaba.