为什么升级后不会启动MariaDB(NO_NEW_PRIVILEGES)

在DigitalOcean上升级我的debian(testing,jessie to stretch)服务器之后,MariaDB不会以service mariadb start开始

我试图清除所有mariadb- *和mysql- *包,删除configuration和数据,并重新安装它们,但mariadb-server-10.1.21-5拒绝configuration:

Setting up mariadb-server-10.1 (10.1.21-5) ... Job for mariadb.service failed because the control process exited with error code. See "systemctl status mariadb.service" and "journalctl -xe" for details. invoke-rc.d: initscript mysql, action "start" failed. ● mariadb.service - MariaDB database server Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled) Active: failed (Result: exit-code) since Thu 2017-02-09 21:25:27 CET; 10ms ago Process: 1696 ExecStart=/usr/sbin/mysqld $MYSQLD_OPTS $_WSREP_NEW_CLUSTER $_WSREP_START_POSITION (code=exited, status=227/NO_NEW_PRIVILEGES) Process: 1589 ExecStartPre=/bin/sh -c [ ! -e /usr/bin/galera_recovery ] && VAR= || VAR=`/usr/bin/galera_recovery`; [ $? -eq 0 ] && systemctl set-environment _WSREP_START_POSITION=$VAR || exit 1 (code=exited, status=0/SUCCESS) Process: 1584 ExecStartPre=/bin/sh -c systemctl unset-environment _WSREP_START_POSITION (code=exited, status=0/SUCCESS) Process: 1582 ExecStartPre=/usr/bin/install -m 755 -o mysql -g root -d /var/run/mysqld (code=exited, status=0/SUCCESS) Main PID: 1696 (code=exited, status=227/NO_NEW_PRIVILEGES) Feb 09 21:25:27 cddssh systemd[1]: Starting MariaDB database server... Feb 09 21:25:27 cddssh systemd[1696]: mariadb.service: Failed at step NO_NEW_PRIVILEGES spawning /usr/sbin/mysqld: Invalid argument Feb 09 21:25:27 cddssh systemd[1]: mariadb.service: Main process exited, code=exited, status=227/NO_NEW_PRIVILEGES Feb 09 21:25:27 cddssh systemd[1]: Failed to start MariaDB database server. Feb 09 21:25:27 cddssh systemd[1]: mariadb.service: Unit entered failed state. Feb 09 21:25:27 cddssh systemd[1]: mariadb.service: Failed with result 'exit-code'. dpkg: error processing package mariadb-server-10.1 (--configure): subprocess installed post-installation script returned error exit status 1 dpkg: dependency problems prevent configuration of mariadb-server: mariadb-server depends on mariadb-server-10.1 (>= 10.1.21-5); however: Package mariadb-server-10.1 is not configured yet. dpkg: error processing package mariadb-server (--configure): dependency problems - leaving unconfigured Errors were encountered while processing: mariadb-server-10.1 mariadb-server E: Sub-process /usr/bin/dpkg returned an error code (1) 

这是我尝试启动服务后journalctl -xe的输出:

 Feb 09 05:10:52 cddssh systemd[1]: mariadb.service: Failed to set invocation ID on control group /system.slice/mariadb.service, ignoring: Operation not supported Feb 09 05:10:52 cddssh systemd[1]: Starting MariaDB database server... -- Subject: Unit mariadb.service has begun start-up -- Defined-By: systemd -- Support: https://www.debian.org/support -- -- Unit mariadb.service has begun starting up. Feb 09 05:10:52 cddssh systemd[7114]: mariadb.service: Failed at step NO_NEW_PRIVILEGES spawning /usr/sbin/mysqld: Invalid argument -- Subject: Process /usr/sbin/mysqld could not be executed -- Defined-By: systemd -- Support: https://www.debian.org/support -- -- The process /usr/sbin/mysqld could not be executed and failed. -- -- The error number returned by this process is 22. Feb 09 05:10:52 cddssh systemd[1]: mariadb.service: Main process exited, code=exited, status=227/NO_NEW_PRIVILEGES Feb 09 05:10:52 cddssh systemd[1]: Failed to start MariaDB database server. -- Subject: Unit mariadb.service has failed -- Defined-By: systemd -- Support: https://www.debian.org/support -- -- Unit mariadb.service has failed. -- -- The result is failed. Feb 09 05:10:52 cddssh systemd[1]: mariadb.service: Unit entered failed state. Feb 09 05:10:52 cddssh systemd[1]: mariadb.service: Failed with result 'exit-code'. 

mysql错误日志没有错误/警告。

我可以自行启动mysqld二进制文件。

我试图按照说明在https://mariadb.com/kb/en/mariadb/upgrade-10116maria-1jessie-broke-system/,但后来我得到错误

mariadb.service:在步骤失败NO_NEW_PRIVILEGES产卵/ usr / sbin / mysqld:无效参数

这似乎与selinux有关,因为我在/lib/systemd/system/mariadb.service中发现了这些行

 # Doesn't yet work properly with SELinux enabled # NoNewPrivileges=true 

有人有一个超级用户非常类似的问题,但我不明白他做了什么来解决它︰https : //superuser.com/questions/1103321/mariadb-server-broken-after-failed-package-update

在#debian-next的帮助下,我发现问题可能在digitalocean自定义内核中。

事实certificate,我使用了一个不是最新的内核 – 3.2.0-4,但是从Web界面select了一个更新的版本并重新启动后,它确实可行。