Soy un novato en MySQL, así que tengan paciencia conmigo.
Acabo de terminar de actualizar 11.10 a 12.04.
Todo parecía funcionar sin contratiempos y todo mi software y configuraciones funcionan bien. Aparte de MySQL.
Cuando lo intento:
sudo start mysql
Recibo un error:
start: Job failed to start
¿Dónde puedo diagnosticar cuál es el problema? Y (con suerte): ¿cómo solucionarlo?
(Deshabilité el inicio automático siguiendo los consejos aquí si eso es de alguna importancia)
Actualización 1:
Ambas salidas de:
cat /var/log/mysql.err
cat /var/log/mysql.log
estan vacios
Salida de dmesg | grep mysql
:
[ 1401.785141] type=1400 audit(1335619832.181:25): apparmor="STATUS" operation="profile_replace" name="/usr/sbin/mysqld" pid=16165 comm="apparmor_parser"
[ 1401.791089] init: Failed to spawn mysql main process: unable to execute: No such file or directory
Actualización 2:
Como lo indica AWinter a continuación, parecía que MySQL desapareció automáticamente después de la actualización y tuvo que ser reinstalado.
sudo rm /etc/mysql/ -R
, simplemente no estaba presente en mi caso. De todos modos - por suerte, era sólo una instalación local para probar Wordpress .. pregunto qué pasaría en un servidor real o_Oapt-get update
antemano, porque eliminó dovecot y php5-mysql. Solo pude reinstalarlos después de la actualización. Una vez que lo hice, todo volvió a funcionar bien.-bash: cd: /var/lib/mysql/: Permission denied
ysudo -i
ni siquiera funciona.fuente
Tuve este mismo problema y para mí fue que los archivos de registro de InnoDB tenían un tamaño diferente al que mysql esperaba, y fallaron en silencio durante la actualización.
Tenía un archivo de configuración personalizado que fue eliminado en la actualización a 12.04 que establece los tamaños de archivo de registro en algo diferente a la configuración predeterminada.
Debe eliminar los archivos: / var / lib / mysql / ib_logfile *
Después de que los archivos se hayan ido, mysql ahora puede comenzar y crear nuevos archivos de registro del tamaño predeterminado.
fuente
La mayoría de los errores aparecerán al iniciar el servidor en modo detallado no demonio y ver la salida:
fuente
Tuve el mismo problema, pero ninguna de las respuestas anteriores me ayudó. Entonces, como última esperanza, intenté liberar algo de espacio en disco. Simplemente elimino archivos de registro innecesarios de / var / log que liberaron un espacio de 2.5G. Entonces MySQL comenzó normalmente.
fuente
Esto a veces sucede y aunque hay un par de problemas diferentes que podrían hacer que mysql no se inicie, escribiré aquí algunos de los más comunes que conozco:
NOTA: Debido a la explicación de los problemas más comunes, supongo que ya ha intentado eliminar e instalar, o simplemente reinstalar el servicio mysql de esta manera:
Para instalar -
sudo apt-get install mysql-server mysql-client
Para eliminar -
sudo apt-get remove mysql-server mysql-client
Para purgar (Eliminar archivos + Configuración) -
sudo apt-get purge mysql-server mysql-client
Para reinstalar -
sudo apt-get install --reinstall mysql-server mysql-client
my.cnf
El archivo no está en el directorio predeterminado. Debería estar (Por defecto) ubicado en/etc/my.cnf
o/etc/mysql/my.cnf
.No hay suficiente espacio en el disco duro donde se encuentran los archivos de datos mysql. Si las bases de datos se hacen demasiado grandes y ocupan el 100% del disco duro, el servicio fallará.
Después de la actualización, verifique que el
my.cnf
archivo esté en el lugar correcto. Dependiendo de cómo se actualizó o de qué versión se actualizó, podría estar en/etc/my.cnf
o/etc/mysql/my.cnf
como se mencionó anteriormente. También recuerde que el archivo también se puede nombrarmysql.conf
y no solomy.cnf
. Esto sucede en los casos en que ha descargado el binario de mysql.com .Hacer un
dmesg
para ver qué está lanzando el servicio mysql como mensaje de error ayuda, ya que da el error de carga. También podría decir por qué sucede esto. Si escribedmesg
solo en la terminal, le mostrará el mundo. Lo que queremos es la información sobre mysql, así que haga algo como esto:dmesg | grep mysql
esto le arrojará cualquier línea que contenga mysql en ellos.Verifique que el archivo
my.cnf
omysql.conf
sea correcto. En 12.04 MySQL es la versión 5.5, en 11.10 es la versión 5.1. Es posible que tenga algunos cambios en el archivo conf (en realidad no lo he comprobado) y puede sonar tonto, pero seguro que puede darte algunos problemas.Los errores relacionados con problemas de socket normalmente son culpa del archivo
my.cnf
omysql.conf
apuntando al lugar equivocado, el error normalmente se mostrará como:La otra fuente de este problema está relacionada con el
mysql
archivo, ya/etc/init.d
que apunta a la carpeta incorrecta porque podría estar usando una secuencia de comandos más antigua que la necesaria para el mysql real en el sistema (puede que no se haya actualizado correctamente, no se sobrescribió) el archivo de configuración, etc.). Así que solo edite cualquiera de estos dos archivos y vea si están apuntando a otro lugar y luego simplemente haga unasudo service mysql restart
comprobación para ver si funciona.Para ver mejor los resultados específicos de error de mysql, haga lo siguiente:
cat /var/log/mysql.err
- Te mostrará los errores de mysql. Lo haría asícat /var/log/mysql.err | less
si ve que pasa demasiada información, ya queless
lo ayudará a desplazarse por la salida decat
.Lo mismo ocurre
cat /var/log/mysql.log
si ve el error, tal vez ponerlo en la pregunta o como comentario ayudará a responder esto más rápido.Si tiene problemas de conexión y el servicio que realmente está ejecutando, intente ver si el servidor de seguridad del servidor permite conexiones a través del puerto 3306 (conexiones entrantes). Luego verifique si el enrutador (si corresponde) no ha bloqueado el puerto 3306. Básicamente, haga una prueba de red para ver de dónde se originó el problema relacionado con el puerto asignado a mysql.
Si todo está bien, para probar si el servicio mysql se está ejecutando, escriba
service mysql status
Como último recurso. Si está ejecutando mysql pero no puede iniciar sesión, intente lo siguiente:
Detenga el servidor MySQL:
sudo /etc/init.d/mysql stop
osudo service mysql stop
Inicie el
mysqld
servicio manualmente con la configuración manualsudo mysqld --skip-grant-tables &
(Recuerde agregar el & else tendrá que abrir otro terminal. El & envía el proceso a un segundo plano y puede matar usando el mismo terminal).
Inicie sesión en la base de datos mysql como ROOT
mysql -u root mysql
Escriba lo siguiente reemplazando MyPASSWORD con su nueva contraseña
UPDATE user SET Password=PASSWORD('MyPASSWORD') WHERE User='root';
FLUSH PRIVILEGES;
EXIT;
Esto debería ser suficiente para iniciar sesión en su servicio Mysql como root nuevamente. Espero eso ayude.
fuente
/etc/mysql/my.cnf
en mi caso. ¿Es esa la ubicación correcta?dmesg
me da una gran cantidad de resultados que está más allá de mi comprensión: / De hecho, tenía 5.1 instalado, ¿eso tiene alguna consecuencia?Tuve el mismo problema después de actualizar a Ubuntu Server 12.04 LTS, ejecutando
fue suficiente para solucionarlo, aunque se quejó de una antigua base de datos de spotweb. Lo arreglé eliminando spotweb:
y reconfigurar mysql:
fuente
Agregaré esto en caso de que alguien se enfrente a problemas similares. Intenté toda la desinstalación y reinstalación en vano. La clave para encontrar la solución fue que el advenedizo coloca sus registros de errores en esta carpeta
/ var / log / upstart /
para mysql
/var/log/upstart/mysql.log
cuando abrí tenía este mensaje
Cuando busqué en la carpeta /etc/apparmor.d/tunables/ me faltaba el archivo de inicio, así que creé uno
gedit /etc/apparmor.d/tunables/home y copió el contenido de otra computadora que tenía estas líneas no comentadas
alguien enfrenta un problema similar aquí
https://bugs.launchpad.net/ubuntu/+source/mysql-5.5/+bug/982303
luego de eso pude reiniciar el servicio
fuente
En mi caso, fue mucho más fácil que algunas respuestas aquí. Encontré el error relacionado en el launchpad y la solución fue como se menciona allí en el comentario 9:
fuente
Después de actualizar encontré que mysql-server / mysql-server-5.5 no estaba instalado y tampoco 5.1. Cambié el nombre de my.cnf a my.cnf_old e intenté instalar mysql-serven. Durante la instalación, hubo un mensaje de error que indicaba que no se pudo establecer la contraseña de root. Después de esto, verifiqué mis configuraciones, apariciones, etc. Todo parecía estar bien. Mi siguiente intento fue reconfigurar mysql-server pero se quejó de que el paquete no estaba completamente instalado. Así que decidí desinstalar y, durante este proceso, apt-get reparó el paquete y ahora funciona. No sé por qué porque no cambié nada.
fuente
Tuve problemas similares, pero rápidamente fui rastreado hasta aparecer, lo que recordé me había dado este problema anteriormente.
Si realiza cambios en esta configuración y su sistema usa apparmor, es posible que también deba ajustar /etc/apparmor.d/usr.sbin.mysqld. P.ej. se agregaron estas líneas (para permitir un enlace simbólico a my.cnf y para permitir que se lea el archivo con enlace simbólico, presumiblemente):
/ usr / sbin / mysqld {... /etc/mysql/*.cnf lr, /path/to/symlinked/my.cnf r, ...}
fuente
En mi caso, intenté instalar MySQL en una nueva instalación de Ubuntu 12.04, pero no entendí por qué me dio un error al configurar la contraseña para el usuario 'root'. Intenté todas las soluciones anteriores, pero nada que hacer.
Luego decidí purgar / eliminar todo, desinstalé el servidor MySQL y eliminé todas sus carpetas (/ etc / mysql / y / var / lib / mysql /), eventualmente gracias a una especie de aleatoriedad que no dio ningún error durante el reinstalación y pude establecer la contraseña e iniciar la instancia del servidor.
fuente
En el terminal puede instalarlo nuevamente, y hace que ejecute my.cnf, puede escribir:
podría funcionar de esta manera.
fuente
Tengo problemas para que la adición
performance_schema
bajo[mysqld]
en/etc/mysql/my.conf
causa de este fracaso. Se eliminó esa línea y mysql pudo comenzar de nuevo.Editar: Resulta que un concierto de ram no es suficiente para iniciar mysqld con performance_schema habilitado. Me topé con 3 conciertos y funcionó bien.
fuente