J'essaie d'installer mysql-server-5.7 sur Kubuntu 16.04, mais j'ai des problèmes.
sudo apt install mysql-server
donne la sortie suivante.
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)
Et lorsque j'essaie de dépanner en exécutant, journalctl -xe
j'obtiens une sortie comme celle-ci, ce qui semble indiquer que AppArmor me cause des problèmes.
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
Comment pourrais-je résoudre ce problème?
/var/log/mysql/error.log
. MySQL devrait toujours pouvoir s'exécuter même s'il ne peut pas accéder aux fichiers / proc et / sys ci-dessus.Réponses:
Vous devez modifier la configuration de votre apparmor pour permettre à MySQL d'accéder à ces fichiers. Les messages du journal vous indiquent que vous avez
/usr/sbin/mysqld
besoin d'unr
accès en lecture ( ) pour ouvrir/proc/14767/status
,/sys/devices/system/node/
(barre oblique de fin car il veut lire le répertoire), et/proc/14767/task/14767/mem
. Le fichier à modifier est/etc/apparmor.d/usr.sbin.mysqld
.Dans mon cas, j'ai résolu le problème en ajoutant ces lignes quelque part au milieu (avec deux espaces devant chacun):
(Notez la barre oblique de fin pour la deuxième ligne.)
Après cela, essayez de démarrer MySQL, et si vous obtenez plus d'erreurs, ajoutez également ces fichiers et réessayez.
Voici une réponse que j'ai donnée à ce problème ailleurs.
la source
apparmour
paramètres manuellement pour installermysql
, si tel est le cas, il y a un problème./proc/*/status r
est inutilement ouvert. Apparmor a des apparieurs pour le prid actuel, vous pouvez donc le faire comme ceci:@{PROC}/@{pid}/status r,
Vous pouvez également souhaiter un accès génériquenode*/meminfo
si vous avez un support NUMA / plus d'un CPU exposé à la machine.sudo service apparmor restart
/etc/apparmor.d/local/user.sbin/mysqld
place pour éviter les conflits avec les mises à jour de profil par défaut. Il est déjà inclus dans le profil par défautIl peut s'agir de: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=739846 alors essayez d'utiliser
si cela n'aide pas à utiliser:
pour supprimer complètement votre mysql et réinstaller Attention: Si vous avez des bases de données, elles seront supprimées.
la source
exit 0
à la fin. J'ai essayé de purger et de réinstaller mysql-server, ce qui n'a pas aidé. J'ai juste essayé de réinstaller (sans purger) mysql-common, ce qui n'a pas aidé non plus. La purger me demandera de désinstaller un grand nombre de paquets qui en dépendent, ce dont j'ai un peu peur.sudo apt remove --purge mysql-*
pour supprimer complètement toutes les choses MySQL (j'ai la version 5.7), puis je l'ai faitsudo apt install akonadi-server mysql-client mysql-server
, mais le résultat est toujours le même. Je reçois toujours le même message d'erreur etjournalctl -xe
indique un problème AppArmor comme ci-dessus.J'ai résolu ce problème avec ceci;
Modifiez /etc/apparmor.d/local/usr.sbin.mysqld
Ajoutez ces lignes;
recharger le service apparmor
la source
Dans mon cas, en essayant d'installer mysql-server-5.7 sur Ubuntu 16.04 après avoir utilisé les réponses ci-dessus, la chose qui a fonctionné était:
sudo apt install mysql-server
sudo apt install mysql-server
pour poursuivre l'installationInstallation terminée.
la source
stop mysql-server
rm /var/lib/mysql/ib_logfile*
restart mysql
la source
{}
de code pour le code, il le rend plus lisible. Vous pouvez modifier votre réponse.ib_logfile*
fichiers et l'ai faitapt upgrade
mais quand apt est arrivé à mysql, j'ai obtenu la sortie suivantemysql_upgrade: [ERROR] 1812: Tablespace is missing for table mysql.plugin