Après la mise à niveau de mon serveur Debian (Testing, Jessie to Stretch) sur DigitalOcean, Mariadb ne commencera pas avec Service Mariadb Start .
J'ai essayé de purger tous les packages mariadb- * et mysql- *, supprimez les configurations et les données et les réinstaller, mais MARIADB-Server-10.1.21-5 refuse d'être configuré:
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)
ceci est la sortie de journalctl -xe après avoir essayé de démarrer le service:
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'.
le journal des erreurs MySQL n'a aucune erreur/avertissements.
Je peux commencer le mysqld binaire juste bien en soi.
J'ai essayé de suivre les instructions à https://mariadb.com/kb/en/mariadb/upgrade-10116maria-1jessie-broke-system/ Mais puis j'ai une erreur
mARIADB.Service: Échec de l'étape No_new_privileges Swawning/USR/SBIN/MYSQLD: argument invalide
Il semble que cela ait quelque chose à voir avec Selinux, car j'ai trouvé ces lignes dans /Lib/systemd/system/mariadb.service
# Doesn't yet work properly with SELinux enabled
# NoNewPrivileges=true
Quelqu'un a eu une question très similaire sur superutilisateur, mais je ne comprends pas ce qu'il a fait pour le résoudre: https://superuser.com/questions/1103321/Mariadb-server-Broken-After-Failed-package-update
Avec l'aide de # Debian-Suivant, j'ai découvert que le problème était probablement dans le noyau coutumier digitalocean.
Lors de la vérification, je vous avais été utilisant un noyau non très récent - 3.2.0-4, mais après avoir sélectionné une version plus récente de l'interface Web et le redémarrage, cela fonctionne correctement.
Pour moi, c'était aussi le noyau (mise à niveau de 49,0-3-amd64); Seulement je couronne Mariashb dans un Xen VM.
Le noyau est pris du DOM0 du script de démarrage, donc même après une mise à jour, elle avait toujours le vieux noyau. Changer le script sur le DOM0 a résolu le problème de la mariadb.
J'ai eu ce même problème avec Debian 9.1 et Mariahb 10.1.26-MariaDB-0+deb9u1
. Semble que c'était également lié à la version du noyau. Mise à jour du noyau de 3.2.50
à 4.9.0-3-AMD64
corrigé cela.