the - ¿Error de PID en mysql.server start?
remove mysql server mac (7)
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
Acabo de intentar instalar MySQL usando homebrew (en Mac OS X 10.6), pero me he encontrado con un problema en el primer obstáculo. Al intentar iniciar manualmente el servidor (inicio mysql.server), aparece el siguiente error:
. ERROR! Manager of pid-file quit without updating file.
Desafortunadamente, no estoy seguro de qué registros de errores o archivos de configuración debo comprobar, ya que nunca había instalado MySQL de esta manera.
Estoy agregando esto aquí porque encontré este problema varias veces después de instalar otro software. MySQL estuvo funcionando bien durante días, luego de repente recibí este error.
Parece que ocurre cuando instalo algo (por ejemplo, elasticsearch o el servidor web Puma). Los permisos de _mysql
se _mysql
nuevamente (de vuelta a mí, y no a _mysql
). No tengo idea de por qué.
- MacOS Sierra
- Homebrew 1.0.5-43-g41b2df8 (2016-10-02)
- MySQL 5.7.15
Así que descubrí 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.
<your computer name>.err
Si miras dentro de ese archivo ( more
, o lo cat
) probablemente verás este error:
[ERROR] InnoDB: The innodb_system data file ''ibdata1'' must be writable
Si es así, entonces sabes que es un problema de permisos.
Si no te importa, probablemente puedas ejecutar MySQL simplemente ejecutando mysqld
(y dejar ese terminal abierto).
Si te importa:
ls -al /usr/local/var/mysql
notará que los permisos probablemente 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 acceso directo homebrew sudo mysql.server start
[aunque esté usando sudo para ejecutarse en el modo ''admin''].
Por lo tanto, cambiar los permisos:
$ sudo chown -R _mysql /usr/local/var/mysql
$ sudo chmod -R o+rwx /usr/local/var/mysql
Entonces funcionará.
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 - debe ser su dirección de instalación de MySQL actual - debe ser la ubicación de los datos de MySQL
Puedes descubrir esa ubicación al ver 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
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 fáciles de perder):
unset TMPDIR
mysql_install_db
Nada más ayudó realmente, pero funcionó lo siguiente:
$ 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 motivo, no puedo comentar a continuación sobre Immendes, pero en 10.8.2 con mySQL 5.6.10, además de verificar db_install y agregar my.cnf, también tuve que chown -R myusername / tmp / mysql.sock.
Parece que permitir que mySQL se ejecute bajo el usuario (como aparece en la raíz 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 alcance y tiempo).
Probablemente deba asegurarse de ejecutar 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, a menos que se configure como una cuenta de usuario restringida en OS X).
Puede que este no sea el único problema, pero debería llevarlo al siguiente paso de todos modos.
¡buena suerte!