mariadb server quebrado após atualização do pacote com falha

1

Então eu tive um problema no outro dia, quando o pacote do servidor do mariadb falhou ao atualizar corretamente e não seria mais executado.

Log started: 2016-07-19  04:00:34
Setting up mariadb-server-10.1 (10.1.16+maria-1~jessie) ...
Job for mariadb.service failed. See 'systemctl status mariadb.service' and 'journalctl -xn' for details.
invoke-rc.d: initscript mysql, action "start" failed.
dpkg: error processing package mariadb-server-10.1 (--configure):
subprocess installed post-installation script returned error exit status 1
Errors were encountered while processing:
mariadb-server-10.
Log ended: 2016-07-19  04:00:52

A principal mensagem de erro foi

root@box{~}:systemctl status mariadb.service
● mariadb.service - MariaDB database server
Loaded: loaded (/lib/systemd/system/mariadb.service; enabled)
Drop-In: /etc/systemd/system/mariadb.service.d
       └─migrated-from-my.cnf-settings.conf
Active: failed (Result: exit-code) since Tue 2016-07-19 04:00:52 PDT; 17s ago
Process: 38259 ExecStart=/usr/sbin/mysqld $MYSQLD_OPTS $_WSREP_NEW_CLUSTER $_WSREP_START_POSITION (code=exited, status=227/NO_NEW_PRIVILEGES)
Process: 38256 ExecStartPre=/usr/bin/install -m 755 -o mysql -g root -d /var/run/mysqld (code=exited, status=0/SUCCESS)
Process: 38098 ExecStartPre=/bin/sh -c VAR='/usr/bin/galera_recovery'; [ $? -eq 0 ] &&   systemctl set-environment _WSREP_START_POSITION=$VAR || exit 1 (code=exited, status=0/SUCCESS)
Process: 38073 ExecStartPre=/bin/sh -c systemctl unset-environment _WSREP_START_POSITION (code=exited, status=0/SUCCESS)
Main PID: 38259 (code=exited, status=227/NO_NEW_PRIVILEGES)

Jul 19 04:00:52 box.example.com systemd[38259]: Failed at step NO_NEW_PRIVILEGES spawning /usr/sbin/mysqld: Invalid argument
Jul 19 04:00:52 box.example.com systemd[1]: mariadb.service: main process exited, code=exited, status=227/NO_NEW_PRIVILEGES
Jul 19 04:00:52 box.example.com systemd[1]: Failed to start MariaDB database server.
Jul 19 04:00:52 box.example.com systemd[1]: Unit mariadb.service entered failed state.

Tentar limpar e reinstalar o pacote não resolveu o problema.

There is a MySQL server running, but we failed in our attempts to stop it.
Stop it yourself and try again!

Então eu tentei manter uma pequena casa gerenciadora de pacotes.

dpkg --configure -a    
apt-get clean
apt-get install -f

O guia de solução de problemas do mariadb foi útil, particularmente.

mysqld --help --verbose | grep 'log-error' | tail -1
mysqld --help --verbose | grep 'datadir' | tail -1

link

Não foi até que tentei instalar e desinstalar o perconadb como uma alternativa ao mariadb que notei um erro sobre um link simbólico problemático, que eu deletei e pareci resolver o problema.

Preconfiguring packages ...
(Reading database ... 72430 files and directories currently installed.)
Removing percona-server-server-5.7 (5.7.13-6-1.jessie) ...
/usr/bin/deb-systemd-helper: error: unable to link /etc/systemd/system/mysql.service to /dev/null: File exists
    
por Fat Finger 20.07.2016 / 23:40

1 resposta

0

Este problema está ligado à idade do kernel presente, uma atualização do kernel corrige o problema. por exemplo. encontrado no Debian Stretch com um kernel 3.2, upgrade para 4.9 (o padrão de distribuição) corrige isso.

    
por 25.07.2017 / 22:18