Estoy tratando de instalar mysql-server-5.7 en Kubuntu 16.04, pero tengo problemas.
sudo apt install mysql-server
da el siguiente resultado.
Setting up mysql-server-5.7 (5.7.18-0ubuntu0.16.04.1) ...
Renaming removed key_buffer and myisam-recover options (if present)
Job for mysql.service failed because the control process exited with error code. See "systemctl status mysql.service" and "journalctl -xe" for details.
invoke-rc.d: initscript mysql, action "start" failed.
● mysql.service - MySQL Community Server
Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled)
Active: activating (auto-restart) (Result: exit-code) since ons 2017-05-17 09:48:39 CEST; 10ms ago
Process: 13622 ExecStartPost=/usr/share/mysql/mysql-systemd-start post (code=exited, status=0/SUCCESS)
Process: 13621 ExecStart=/usr/sbin/mysqld (code=exited, status=2)
Process: 13612 ExecStartPre=/usr/share/mysql/mysql-systemd-start pre (code=exited, status=0/SUCCESS)
Main PID: 13621 (code=exited, status=2)
maj 17 09:48:39 anis systemd[1]: Failed to start MySQL Community Server.
maj 17 09:48:39 anis systemd[1]: mysql.service: Unit entered failed state.
maj 17 09:48:39 anis systemd[1]: mysql.service: Failed with result 'exit-code'.
dpkg: error processing package mysql-server-5.7 (--configure):
subprocess installed post-installation script returned error exit status 1
dpkg: dependency problems prevent configuration of mysql-server:
mysql-server depends on mysql-server-5.7; however:
Package mysql-server-5.7 is not configured yet.
dpkg: error processing package mysql-server (--configure):
dependency problems - leaving unconfigured
Errors were encountered while processing:
mysql-server-5.7
mysql-server
E: Sub-process /usr/bin/dpkg returned an error code (1)
Y cuando intento solucionar problemas ejecutando journalctl -xe
, obtengo resultados como el siguiente, lo que parece indicar que AppArmor me está dando problemas.
maj 17 09:53:14 anis systemd[1]: Starting MySQL Community Server...
-- Subject: Unit mysql.service has begun start-up
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
--
-- Unit mysql.service has begun starting up.
maj 17 09:53:14 anis audit[14767]: AVC apparmor="DENIED" operation="open" profile="/usr/sbin/mysqld" name="/proc/14767/status" pid=14767 comm="mysqld" requested_mask="r" denied_mask="r" fsuid=124 ouid=124
maj 17 09:53:14 anis audit[14767]: AVC apparmor="DENIED" operation="open" profile="/usr/sbin/mysqld" name="/sys/devices/system/node/" pid=14767 comm="mysqld" requested_mask="r" denied_mask="r" fsuid=124 ouid=0
maj 17 09:53:14 anis kernel: audit: type=1400 audit(1495007594.314:240): apparmor="DENIED" operation="open" profile="/usr/sbin/mysqld" name="/proc/14767/status" pid=14767 comm="mysqld" requested_mask="r" denied_mask="r" fsuid=124 ouid=124
maj 17 09:53:14 anis kernel: audit: type=1400 audit(1495007594.314:241): apparmor="DENIED" operation="open" profile="/usr/sbin/mysqld" name="/sys/devices/system/node/" pid=14767 comm="mysqld" requested_mask="r" denied_mask="r" fsuid=124 ouid=0
maj 17 09:53:14 anis kernel: audit: type=1400 audit(1495007594.314:242): apparmor="DENIED" operation="open" profile="/usr/sbin/mysqld" name="/proc/14767/status" pid=14767 comm="mysqld" requested_mask="r" denied_mask="r" fsuid=124 ouid=124
maj 17 09:53:14 anis audit[14767]: AVC apparmor="DENIED" operation="open" profile="/usr/sbin/mysqld" name="/proc/14767/status" pid=14767 comm="mysqld" requested_mask="r" denied_mask="r" fsuid=124 ouid=124
maj 17 09:53:14 anis audit[14767]: AVC apparmor="DENIED" operation="open" profile="/usr/sbin/mysqld" name="/proc/14767/task/14767/mem" pid=14767 comm="mysqld" requested_mask="r" denied_mask="r" fsuid=124 ouid=124
maj 17 09:53:14 anis kernel: audit: type=1400 audit(1495007594.658:243): apparmor="DENIED" operation="open" profile="/usr/sbin/mysqld" name="/proc/14767/task/14767/mem" pid=14767 comm="mysqld" requested_mask="r" denied_mask="r" fsuid=124 ouid=124
maj 17 09:53:14 anis systemd[1]: mysql.service: Main process exited, code=exited, status=2/INVALIDARGUMENT
¿Cómo podría resolver este problema?
/var/log/mysql/error.log
. MySQL debería poder ejecutarse incluso si no puede acceder a los archivos / proc y / sys anteriores.Respuestas:
Necesita editar su configuración de apparmor para permitir que MySQL acceda a esos archivos. Los mensajes de registro le indican que
/usr/sbin/mysqld
necesitar
acceso de lectura ( ) para abrir/proc/14767/status
,/sys/devices/system/node/
(barra diagonal final porque quiere leer el directorio) y/proc/14767/task/14767/mem
. El archivo a editar es/etc/apparmor.d/usr.sbin.mysqld
.En mi caso, resolví el problema agregando estas líneas en algún lugar en el medio (con dos espacios en frente de cada una):
(Tenga en cuenta la barra inclinada final para la segunda línea).
Después de hacer eso, intente iniciar MySQL, y si obtiene más errores, agregue esos archivos también e intente nuevamente.
Aquí hay una respuesta que le di a este problema en otra parte.
fuente
apparmour
configuración manualmente para instalarla?mysql
Si ese es el caso, entonces hay un problema./proc/*/status r
Está innecesariamente abierto. Apparmor tiene coincidencias para el prid actual, por lo que puede hacerlo así:@{PROC}/@{pid}/status r,
es posible que también desee acceder a comodinesnode*/meminfo
si tiene soporte NUMA / más de una CPU expuesta a la máquina.sudo service apparmor restart
/etc/apparmor.d/local/user.sbin/mysqld
lugar para evitar chocar con las actualizaciones de perfil predeterminadas. Ya está incluido en el perfil predeterminadoPuede ser esto: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=739846, así que intente usar
si no está ayudando a usar:
para eliminar completamente su mysql y reinstalar Advertencia: si tiene alguna base de datos, se eliminarán.
fuente
exit 0
al final. He intentado purgar y reinstalar mysql-server, lo que no me ayudó. Acabo de intentar reinstalar (sin purgar) mysql-common, que tampoco ayudó. Purgarlo requerirá que desinstale muchos paquetes que dependen de él, lo cual me da un poco de miedo.sudo apt remove --purge mysql-*
para eliminar completamente todas las cosas de MySQL (tengo la versión 5.7), y luego lo hicesudo apt install akonadi-server mysql-client mysql-server
, pero el resultado sigue siendo el mismo. Todavía recibo el mismo mensaje de error ejournalctl -xe
indica un problema de AppArmor como el anterior.Resolví este problema con esto;
Editar /etc/apparmor.d/local/usr.sbin.mysqld
Agrega estas líneas;
recargar el servicio de aparmor
fuente
En mi caso, tratando de instalar mysql-server-5.7 en Ubuntu 16.04 después de usar las respuestas anteriores, lo que funcionó fue:
sudo apt install mysql-server
sudo apt install mysql-server
nuevamente para continuar la instalaciónInstalación completa.
fuente
stop mysql-server
rm /var/lib/mysql/ib_logfile*
restart mysql
fuente
{}
de código para el código, lo hace más legible. Puedes editar tu respuesta.ib_logfile*
apt upgrade
mysql_upgrade: [ERROR] 1812: Tablespace is missing for table mysql.plugin