Служба MySQL не перезапускается должным образом
Я устанавливаю сервер MySQL (версия: 5.5.54) на Ubuntu 14.04. У меня есть скрипт, который каждый день оптимизирует БД и после этого перезапускает службу mysql.
сегодня я заметил, что сервер MySQL не перезапускается должным образом, когда я подключился к MySQL, у меня есть эта ошибка.
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
В системном журнале я нахожу эти сообщения:
Mar 24 01:20:01 dbs kernel: [35113.530913] init: mysql main process ended, respawning
Mar 24 01:20:01 dbs kernel: [35113.549509] audit_printk_skb: 36 callbacks suppressed
Mar 24 01:20:01 dbs kernel: [35113.549514] audit: type=1400 audit(1490314801.743:24): apparmor="STATUS" operation="profile_replace" profile="unconfined" name="/usr/sbin/mysqld" pid=21133 comm="apparmor_parser"
Mar 24 01:20:01 dbs kernel: [35113.568126] audit: type=1400 audit(1490314801.763:25): apparmor="DENIED" operation="mknod" profile="/usr/sbin/mysqld" name="/run/mysqld/mysqld.err" pid=21145 comm="mysqld" requested_mask="c" denied_mask="c" fsuid=105 ouid=105
mysql apparmor file
# vim:syntax=apparmor
# Last Modified: Tue Jun 19 17:37:30 2007
#include <tunables/global>
/usr/sbin/mysqld {
#include <abstractions/base>
#include <abstractions/nameservice>
#include <abstractions/user-tmp>
#include <abstractions/mysql>
#include <abstractions/winbind>
capability dac_override,
capability sys_resource,
capability setgid,
capability setuid,
network tcp,
/etc/hosts.allow r,
/etc/hosts.deny r,
/etc/mysql/*.pem r,
/etc/mysql/conf.d/ r,
/etc/mysql/conf.d/* r,
/etc/mysql/*.cnf r,
/usr/lib/mysql/plugin/ r,
/usr/lib/mysql/plugin/*.so* mr,
/usr/sbin/mysqld mr,
/usr/share/mysql/** r,
/var/log/mysql.log rw,
/var/log/mysql.err rw,
/var/lib/mysql/ r,
/var/lib/mysql/** rwk,
/var/lib/mysql-files/ r,
/var/lib/mysql-files/** rwk,
/var/log/mysql/ r,
/var/log/mysql/* rw,
/var/run/mysqld/mysqld.pid rw,
/var/run/mysqld/mysqld.sock w,
/run/mysqld/mysqld.pid rw,
/run/mysqld/mysqld.sock w,
/sys/devices/system/cpu/ r,
# Site-specific additions and overrides. See local/README for details.
#include <local/usr.sbin.mysqld>
}
2 ответа
Я решил это, обновив профили apparmor. Попробуй это:
apt install apparmor-profiles
Apparmor перезапущен, я смог запустить БД в нормальном режиме:
sudo service mysql start
Это сработало для меня:(источник: https://forum.snapcraft.io/t/unable-to-install-snap-from-store-or-locally/4629/15)
Сначала удалите apparmor и snapd (в моем случае ошибка была связана с snapd, я не думаю, что вам нужно удалять его в вашем случае)
sudo apt-get purge apparmor
sudo apt-get purge apparmor-profiles
sudo apt-get purge apparmor-utils
sudo apt-get remove snapd snapd-confine
Теперь установите их обратно (опять же, вам может не понадобиться устанавливать snapd):
sudo apt-get install apparmor-utils
sudo apt install apparmor-profiles apparmor-profiles-extra vim-addon-manager
sudo apt install snapd snapd-login-service snap-confine