En Snow Leopard, iniciar MySQL da el siguiente error:
El servidor se cerró sin actualizar el archivo PID
my.cnf
[mysqld]
port = 3306
socket = /tmp/mysql.sock
skip-external-locking
key_buffer_size = 16K
pid-file=/var/run/mysqld/mysqld.pid
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
Respuestas:
intente encontrar su archivo de registro con el sufijo ".err", debería haber más información. Puede estar en:
Probablemente sea un problema con los permisos
comprobar si se está ejecutando alguna instancia de mysql
en caso afirmativo, debe detenerlo o finalizar el proceso
donde
PID
se muestra el número junto al nombre de usuario en la salida del comando anteriorverificar la propiedad de
/usr/local/var/mysql/
si es dueño de
root
usted debe cambiarlomysql
oyour_user
fuente
¿Seguiste las instrucciones de
brew install mysql
?Configure bases de datos para ejecutar COMO SU CUENTA DE USUARIO con:
Para mysql 5.x:
Para configurar tablas base en otra carpeta, o usar un usuario diferente para ejecutar mysqld, consulte la ayuda para
mysqld_install_db
:y ver la documentación de MySQL:
Para mysql 8.x:
Asegúrese de que el directorio de datos
/usr/local/var/mysql
anterior esté vacío, haga una copia de seguridad si es necesario.Para ejecutar, por ejemplo, el usuario "mysql", es posible que deba
sudo
:Inicie mysqld manualmente con:
Nota: si esto falla, probablemente olvidó ejecutar los dos primeros pasos arriba
fuente
sudo chown -R your_user /usr/local/var/mysql/
igual que la respuesta demysqld_install_db
comando me da el errormysql_install_db: [ERROR] unknown variable 'tmpdir=/tmp'
Tuve el mismo problema en mi máquina Mac (seguí correctamente todos los pasos de instalación sugeridos por
brew install
).Eliminar el archivo de error lo arregló para mí:
sudo rm -rf /usr/local/var/mysql/dev.work.err
(dev.work
es mi nombre de host)Esto funcionó porque
dev.work.err
era propiedad de en_mysql:wheel
lugar de mi propio nombre de usuario. Al hacer clic en el archivo de error, probablemente también lo habría solucionado.fuente
Después de reiniciar tuve el mismo problema. Así es como lo arreglé:
fuente
sudo chown -R _mysql /usr/local/mysql/data
Esto funcionó para mí ...
Verifique todos los procesos de MySQL que se ejecutan:
Luego elimine todos los procesos enumerados desde el comando anterior utilizando lo siguiente:
Reemplace
[PID]
con el PID individual de la lista anterior, por ejemplo5970
.Haga eso para todas las líneas que ve con el primer comando.
Luego puede volver a iniciar su servidor MySQL:
fuente
pkill mysql
para matar todos los procesos que coincidan con "mysql" (-9
es innecesario en la mayoría de los casos).Este error puede ocurrir al intentar iniciar msql después de que se apagó incorrectamente.
Eche un vistazo al archivo de registro de errores mysql. Si menciona algo como "Verifique que no tenga otro proceso mysqld usando los mismos datos o archivos de registro". , entonces debe cerrar correctamente ese proceso.
Vea en qué proceso se ejecuta mysql, use este comando:
lsof -i:3306
Su salida debería verse así:
kill -15 4249
mysql.server start
fuente
Mi archivo de error también me dijo que el puerto puede estar siendo utilizado por otro proceso, pero simplemente ejecutarlo
sudo mysql.server start
solucionó el problema.fuente
Trate de eliminar
ib_logfile0
yib_logfile1
archivos y luego ejecutar MySQL de nuevoEsto funciona para mi.
fuente
.err
archivo en el mismo directorio, que funcionó para mí.ib_log*.bak
Si ninguna respuesta lo ayudó, simplemente elimine la carpeta
/usr/local/var/mysql
y luego instale mysql nuevamentebrew reinstall mysql
.fuente
brew reinstall [email protected]
resuélvalo.Recientemente me encontré con este problema, sin embargo, estaba funcionando antes, luego me detuve.
Esto fue porque inicialmente comencé
mysql.server
como root en lugar de mí mismo.La solución fue eliminar el archivo de registro de errores (que era propiedad de
_mysql
). Comenzarlo de nuevo lo aprobó.fuente
Para mí tuve que reinstalar mysql
y luego debajo Para iniciar, inicie mysql ahora y reinicie al iniciar sesión:
fuente
La solución que funcionó para mí estaba aquí: /server/334284/cant-create-pid-file-on-mysql-server-permission-denied
Cambiar algunos de mis permisos parecía hacer el truco. Estoy ejecutando una Macbook Air de mediados de 2012 con OS X 10.8.2 y mysql se instaló con homebrew.
fuente
Para mí, la solución fue simple:
mostró que mysqld ya se estaba ejecutando
luego permitió que el proceso comenzara
fuente
Tuve este problema al intentar preparar la actualización en MacOS X 10.7.5.
Lamentablemente, mysql también se actualizó a 5.6.10 desde 5.5.14. Probé lo nuevo, no funcionó.
Decidí volver a mi configuración anterior e hice un
Esto no resolvió el problema. En otra parte leí e hice esto, ¡voila! Todo estaba de vuelta :)
fuente
brew upgrade mysql
y luegobrew switch mysql 5.7.17
cuál era mi versión anterior. ¡Extraño!Estoy usando,
Instalé MySQL usando homebrew ('brew install mysql'). Instaló un par de dependencias y luego mysql.
Cuando intenté iniciarlo,
Ejecuté este comando
y MySQL funciona.
Tenga en cuenta que necesita ejecutar mysql_install_db desde el nivel superior del directorio mysql (IE, usr / local / Cellar / mysql / 5.5.25). Ejecutarlo directamente dentro del directorio / scripts no le da suficiente contexto para que se ejecute.
fuente
Para mí, la solución era anular / corregir el directorio de datos en / etc / my / cnf.
Construí MySQL 5.5.27 desde la fuente con las instrucciones proporcionadas en el archivo Léame:
mysqld_safe terminó sin explicación. corriendo
/etc/init.d/mysql.server start
resultó en el error:"El servidor se cerró sin actualizar el archivo PID"
Sin embargo, noté algo extraño en las instrucciones de instalación. Se ha cambiado la propiedad a mysql para el directorio "datos", pero no a "var"; Esto es inusual porque durante años he tenido que asegurarme de que el directorio var fuera MySQL escribible. Entonces corrí manualmente
chown -R mysql /usr/local/mysql/var
y luego intenté comenzar de nuevo. Aún sin suerte. Pero lo que es peor, no hay ningún archivo .err en el directorio var, ¡estaba en el directorio "data"! entonces scripts / mysql_install_db establece el campamento en / usr / local / mysql / var, ¡pero el resto de la aplicación parece querer hacer su trabajo en / usr / local / mysql / data!Así que acabo de editar /etc/my.cnf y en la sección [mysqld] agregué una directiva para señalar explícitamente el directorio de datos de mysql a var (como normalmente espero que sea de cualquier manera), y después de hacerlo, mysqld se inicia solo multa. La directiva para agregar se ve así:
datadir = / usr / local / mysql / var
Trabajó para mi. Espero que te ayude.
fuente
Parece que el proceso de MySQL se está ejecutando, por lo tanto, no puede usar el puerto. Puede verificar el proceso en ejecución de MySQL con el siguiente comando:
ps auxf | grep mysql
Si obtiene algún proceso de MySQL, elimine esa ID de proceso utilizando kill -9 PID y luego intente iniciar MySQL.
fuente
Inicie Mysql en modo seguro
O
en MAC Final cualquier
mysql
omysqld
tarea (o de otro tipo) en su aplicación Monitor de actividad.o comprueba tu error por
fuente
¿Qué dice el registro de errores? Recibí este error y terminó siendo una configuración inválida antigua en my.cnf, que indicaba el registro de errores de mysql. Si no es una configuración incorrecta, el registro de errores al menos debería apuntarlo en la dirección correcta.
Bueno, supongo que el OP lo ha solucionado en este punto ... pero espero que esto indique que los demás ven este error en la dirección correcta.
fuente
Con la ayuda de algunas respuestas publicadas aquí, pude encontrar el problema
Primero corro
sudo -i
Entonces podría tener acceso de root.
Luego eliminé el archivo xxxx.err
rm -rf /usr/local/mysql/data/xxxx.err
después de que comencé MySQL en SafeMode
/usr/local/mysql/bin/mysqld_safe start
Intentará iniciarse y se cerrará debido a un error ... se creará un nuevo archivo xxx.err y deberá leerlo para ver la causa del error
tail -f /usr/local/mysql/data/mysqld.local.err
En mi caso, por alguna razón, faltaba alguna carpeta y archivo dentro de la
/var/log/
carpeta ... Así que creé amboscd /var/log
mkdir mysql
touch mysql-bin.index
Después de crear el nuevo archivo, debe cambiar el permiso
chown -R _mysql /var/log/mysql
Cuando se tomaron todos esos pasos, mi base de datos comenzó a funcionar de inmediato ...
Espero que esto pueda ayudar a otros aquí ... La clave es leer el error y registrar y encontrar qué está mal ...
fuente
En mi caso, el error ocurre debido al problema de acceso del archivo de registro de errores.
Los siguientes dos comandos me ayudan a resolver el problema.
fuente
Espero que esto funcione para ti.
Después de verificar el registro de errores, encontré esto:
Y para resolverlo, le di derechos de propiedad a toda la carpeta mysql:
Luego (también puede hacerlo desde la línea de comandos), apliqué los permisos (una vez que otorgué esa propiedad a los usuarios de _mysql y mysql ) a todas las carpetas incluidas desde el menú "obtener información" de la carpeta en / usr / local / mysql -5.5.21-osx10.6-x86_64 . No es necesario que le digas eso al alias ya que es solo un alias.
El nombre de la carpeta depende de la versión de instalación de mysql que tenga.
fuente
Yo tuve el mismo problema. mover mi archivo /etc/my.cnf funcionó para mí. Tengo la informacion aqui
fuente
Tuve el mismo problema, para mí fue hacer una eliminación de cerveza mientras se ejecutaba una instalación anterior de mysqld. Parece que brew no detiene un servicio antes de desinstalarlo.
Después de verificar el archivo .err, vi el error registrado de que podría estar ejecutándose otra copia de mysql, después de finalizar el servicio anterior. Luego pude reiniciar la nueva instalación de mysql.
fuente
ls -latr /usr/local/var/mysql/
para encontrar el último archivo modificado, que incluía el registro de errores, y luegotail -50 name.err
para ver el error, que era un problema en la configuración.ps aux | grep mysqld
y después se terminó el proceso conkill -9 [proccessid]
y el servidor se ha iniciado satisfactoriamenteSencillo....
Solucione el error 2002 de MySQL Socket
Solucione el inminente error de socket de 2002, que es un enlace donde MySQL coloca el socket y donde OSX cree que debería estar, MySQL lo coloca en / tmp y OSX lo busca en / var / mysql el socket es un tipo de archivo que permite el cliente mysql / comunicación del servidor.
sudo mkdir / var / mysql
sudo ln -s /tmp/mysql.sock /var/mysql/mysql.sock
Bien hecho : )
Esto me ayuda mucho! Tomé esta guía de los chicos en http://coolestguidesontheplanet.com/
fuente
Prueba esto..
cd YOURPATH/usr/local/mysql
rm -rf *.local.err
(elimina el archivo)touch YOURUSERNAME.local.pid
(genera un nuevo archivo * .local.pid del que se arrojó el error quejándose)mysql.server start
fuente
error.log
archivo era propiedad de "_mysql" arrojando errores en los registros. Solo quería registrar eso en caso de que alguien más tenga este problema.150818 19:32:06 mysqld_safe Logging to '/opt/boxen/log/mysql/error.log'. 150818 19:32:06 mysqld_safe Starting mysqld daemon with databases from /opt/boxen/data/mysql /opt/boxen/homebrew/bin/mysqld_safe: line 129: /opt/boxen/log/mysql/error.log: Permission denied
De alguna manera arruiné mis permisos en El Capitan y decidí reinstalar MySQL desde cero.
Utilizo brew en el capitan, y decidí reinstalar:
Los permisos de archivo en la instalación nueva cambiaron
_mysql
para incluir mi nombre de usuariofuente
Compruebe si le queda espacio en su disco. Tengo este problema cuando no queda espacio en mi disco.
fuente
El problema es de permisos, no puede comenzar porque no puede escribir en mac.err porque es propiedad de otra persona.
Asegúrese de que la carpeta / usr / local / var / mysql es propiedad del usuario que iniciará mysql. Si empiezo mysql como jack, todo está bien. Sin embargo, si lo inicia como root, creará un archivo mac.err (propiedad de root) en el que jack no puede escribir, por lo que cuando intente reiniciarlo como jack, fallará.
fuente
En mi caso, obtuve este problema en vps, cPanel .
Intenté la mayoría de las respuestas anteriores, pero no el éxito.
https://forums.cpanel.net/threads/mysql-is-not-running.407142/
fuente