Mysql no longer starts

I wanted to check my log server again, but suddenly I get this message when I visit the URL:

I work on Ubuntu Xenial

FATAL: Cannot connect to MySQL server on "localhost". Please make sure you provide the correct MySQL database name in 'include / config.php'

when I do journalctl -xe, I get the following message:

-- Unit mysql.service has begun starting up.
Jun 15 19:26:12 arjanlog audit[3665]: AVC apparmor="DENIED" operation="open" profile="/usr/sbin/mysqld" name="/proc/3665/status" pid=3665 comm="mysqld" requested_mask="r" denied_mask="r" fsuid=112 ouid=112

Jun 15 19:26:12 arjanlog audit[3665]: AVC apparmor="DENIED" operation="open" profile="/usr/sbin/mysqld" name="/sys/devices/system/node/" pid=3665 comm="mysqld" requested_mask="r" denied_mask="r" fsuid=112 ouid=0

Jun 15 19:26:12 arjanlog audit[3665]: AVC apparmor="DENIED" operation="open" profile="/usr/sbin/mysqld" name="/proc/3665/status" pid=3665 comm="mysqld" requested_mask="r" denied_mask="r" fsuid=112 ouid=112
Jun 15 19:26:12 arjanlog kernel: audit: type=1400 audit(1497547572.504:69): apparmor="DENIED" operation="open" profile="/usr/sbin/mysqld" 
name="/proc/3665/status" pid=3665 comm="mysqld" requested_mask="r" denied_m

Jun 15 19:26:12 arjanlog kernel: audit: type=1400 audit(1497547572.504:70): apparmor="DENIED" operation="open" profile="/usr/sbin/mysqld" name="/sys/devices/system/node/" pid=3665 comm="mysqld" requested_mask="r"

Jun 15 19:26:12 arjanlog kernel: audit: type=1400 audit(1497547572.504:71): apparmor="DENIED" operation="open" profile="/usr/sbin/mysqld" name="/proc/3665/status" pid=3665 comm="mysqld" requested_mask="r" denied_m

Jun 15 19:26:12 arjanlog systemd[1]: mysql.service: Main process exited, code=exited, status=1/FAILURE
+4
source share
7 answers

I had this problem too, and I solved it by installing the apparmor configuration file in /etc/apparmor.d/usr.sbin.mysqld. I added the following lines:

  /proc/*/status r,
  /sys/devices/system/node/ r,
  /sys/devices/system/node/node0/meminfo r,

The output journalctl -xedisplays files that require MySQL permission. You can also see /var/log/syslog:

Jun 15 19:26:12 arjanlog audit[3665]: AVC apparmor="DENIED" operation="open" profile="/usr/sbin/mysqld" name="/proc/3665/status" pid=3665 comm="mysqld" requested_mask="r" denied_mask="r" fsuid=112 ouid=112
Jun 15 19:26:12 arjanlog audit[3665]: AVC apparmor="DENIED" operation="open" profile="/usr/sbin/mysqld" name="/sys/devices/system/node/" pid=3665 comm="mysqld" requested_mask="r" denied_mask="r" fsuid=112 ouid=0
Jun 15 19:26:12 arjanlog audit[3665]: AVC apparmor="DENIED" operation="open" profile="/usr/sbin/mysqld" name="/proc/3665/status" pid=3665 comm="mysqld" requested_mask="r" denied_mask="r" fsuid=112 ouid=112

, /usr/sbin/mysqld DENIED /proc/3665/status /sys/devices/system/node/ (r).

, apparmor /sys/devices/system/node/, !

+8

, apparmor. , apparmor mysqld, :

ln -s /etc/apparmor.d/usr.sbin.mysqld /etc/apparmor.d/disable/usr.sbin.mysqld

+2

, mysql . , /var/log/mysql/error.log, :

InnoDB: Database was not shutdown normally!

, - ,

, WRITE, .

, /var/lib/mysql - mysql.old, mysql.

:

sudo mysqld --initialize --initialize-insecure

mysql

, mysql : mysql group: mysql. chown:

sudo chown -R mysql:mysql /var/lib/mysql

:

sudo mysql -u root

:

SET PASSWORD FOR root@'localhost' = PASSWORD('newpassword');

mysql:

sudo service mysql restart

.


, , ( , ):

sudo apt-get --reinstall install mysql-server-5.7
+1

SO , apparmor="DENIED" , , MySQL ( MariaDB) , .

apt .

sudo apt-get dist-upgrade
sudo apt-get update
sudo apt-get upgrade
sudo reboot

, , service, systemctl , /etc/system.d.

MariaDB .

apt upgrade , , update .

, /var/log/mysql /var/log/mysql:

tail -f /var/log/syslog | grep mysql
+1

, mysql /var/lib/mysql .

/etc/apparmor.d/usr.sbin.mysqld

Ubuntu

:

sudo nano /etc/apparmor.d/usr.sbin.mysqld
line 25 after:
# Allow config access
  /etc/mysql/** r,
-add line:
  /etc/mysql/* r,

:

/etc/mysql/* r, /etc/apparmor.d/usr.sbin.mysqld

systemctl restart apparmor.service

service mysql start

0

, , fooobar.com/questions/1679370/... MySql. tail -30/var/log/mysql/error.log. 2019-05-21T04:46:03.462807Z 0 [ERROR] InnoDB: Cannot allocate memory for the buffer pool. , , 128 . , 111 . ( ) MySql, . AppArmor, , AppArmor MySql. MySql . , , MySql , .

0

: sudo service apparmor teardown

-2

Source: https://habr.com/ru/post/1679370/


All Articles