Error PID en mysql.server start?

Acabo de intentar instalar MySQL usando homebrew (en Mac OS X 10.6), pero me encontré con un problema en el primer obstáculo. Al intentar iniciar el servidor manualmente (inicio mysql.server), aparece el siguiente error:

. ERROR! Manager of pid-file quit without updating file. 

Lamentablemente, no estoy seguro de qué registro de errores o archivos de configuración verificar, ya que nunca antes había instalado MySQL de esta manera.

Me encontré con este mismo problema al instalar a través de homebrew. Asegúrese de ejecutar estos comandos (que se enumeran durante la instalación pero que es fácil pasar por alto):

 unset TMPDIR mysql_install_db 

probablemente necesite asegurarse de que está ejecutando mysql como usuario root ; de lo contrario, no tendrá permiso para escribir el archivo PID (por lo tanto, el error que está recibiendo).

Prueba esto:

 sudo mysql.server start 

se le pedirá su contraseña. (esto supone que su cuenta de usuario tiene permisos para “sudo”, lo que debería hacer, a menos que se configure como una cuenta de usuario restringida en OS X).

Puede que este no sea el único problema, pero de todos modos debería llevarlo al siguiente paso.

¡buena suerte!

Me encontré con el mismo problema al intentar instalar MySQL 5.5.15 en Lion usando homebrew y resolví el problema con:

 mysql_install_db --verbose --user=`whoami` --basedir="$(brew --prefix mysql)" --datadir=/usr/local/var/mysql --tmpdir=/tmp 

y creando un archivo ~ / my.cnf

con el contenido:

  [mysqld] basedir=/usr/local/Cellar/mysql/5.5.15 datadir=/usr/local/var/mysql 

basedir – debería ser tu directorio de instalación de MySQL actual dir de datos – debería ser la ubicación de los datos de MySQL

También puede averiguar esa ubicación observando el comando make durante “brew install mysql” buscando algo como esto:

 -DCMAKE_INSTALL_PREFIX=/usr/local/Cellar/mysql/5.5.15 -DMYSQL_DATADIR=/usr/local/var/mysql -DINSTALL_MANDIR=/usr/local/Cellar/mysql 

Donde DCMAKE_INSTALL_PREFIX = basedir y DMYSQL_DATADIR = datadir

Estos dos comandos siguientes deberían resolver su problema.

 > unset TMPDIR > mysql_install_db --verbose --user=\`whoami\` --basedir="$(brew --prefix mysql)" --datadir=/usr/local/var/mysql --tmpdir=/tmp 

Estoy agregando esto aquí porque me encontré con este problema varias veces después de instalar otro software. MySQL estuvo funcionando bien durante días, luego, de repente, recibí este error.

Parece suceder cuando instalo algo (ej. Elasticsearch o servidor web Puma). Los permisos de _mysql se _mysql nuevamente (de vuelta a mí, y no a _mysql ). No tengo idea por qué.

  • MacOS Sierra
  • Homebrew 1.0.5-43-g41b2df8 (2016-10-02)
  • MySQL 5.7.15

Así que he encontrado que una de las causas de esto son los permisos en la ubicación donde MySQL almacena sus bases de datos, que por defecto está aquí:

 /usr/local/var/mysql 

Si miras en esa carpeta, verás un archivo

 .err 

Si miras dentro de ese archivo ( more o menos), probablemente verás este error:

 [ERROR] InnoDB: The innodb_system data file 'ibdata1' must be writable 

Si es así, sabrá que es un problema de permisos.

Si no le importa, probablemente solo ejecute MySQL simplemente ejecutando mysqld (y deje ese terminal abierto).

Si te importa:

ls -al /usr/local/var/mysql

Notará que probablemente todos los permisos están configurados para usted (su cuenta de usuario). Esto significa que mysql no puede montar sus bases de datos cuando lo ejecuta utilizando el atajo homebrew sudo mysql.server start [aunque esté usando sudo para ejecutar en modo ‘admin’].

Por lo tanto, cambie los permisos:

 $ sudo chown -R _mysql /usr/local/var/mysql $ sudo chmod -R o+rwx /usr/local/var/mysql 

Entonces funcionará.

Nada más ayudó realmente, pero lo siguiente funcionó:

 $ ps aux | grep mysql tagir 27260 0.0 1.0 3562356 175120 ?? S 2:52PM 0:00.42 mysqld --skip-grant-tables tagir 42704 0.0 0.0 2434840 784 s000 S+ 3:04PM 0:00.00 grep mysql $ kill 27260 # Careful! This might erase your existing data $ rm -rf /usr/local/var/mysql $ mysqld --initialize $ mysql.server start 

Parece que por cualquier razón no puedo comentar debajo de Immendes arriba, pero en 10.8.2 con mySQL 5.6.10, además de verificar el db_install y agregar my.cnf, también tuve que robar -R myusername / tmp / mysql.sock.

Parece que permitir mySQL ejecutarse bajo el usuario (como apposed a root o www como lo haría en Linux) no es la mejor idea en este sentido (aunque Homebrew podría actualizar la fórmula, más allá de mi scope y tiempo).