Starting mysqld (via systemctl): Job for mysqld.service failed because the control process exited with error code. See "systemctl status mysqld.service" and "journalctl -xe" for details. [FAILED]
根据以上错误提示,分别使用systemctl status mysqld.service和journalctl -xe查看服务启动失败的原因:
[mysql]
Mar 25 12:51:10 ip-172-31-17-237 audit[99286]: AVC apparmor="DENIED" operation="open" profile="/usr/sbin/mysqld" name="/proc/99286/status" pid
Mar 25 12:51:10 ip-172-31-17-237 audit[99286]: AVC apparmor="DENIED" operation="open" profile="/usr/sbin/mysqld" name="/sys/devices/system/nod
Mar 25 12:51:10 ip-172-31-17-237 audit[99286]: AVC apparmor="DENIED" operation="open" profile="/usr/sbin/mysqld" name="/proc/99286/status" pid
Mar 25 12:51:11 ip-172-31-17-237 systemd[1]: mysql.service: Main process exited, code=exited, status=1/FAILURE
并没有看出有什么错
使用tail -f /var/log/mysqld.log如下
根据日志查看:原因应该是内存不足
free -h
解决方法:
增加swap交换空间解决问题:
dd if=/dev/zero of=1.txt bs=1M count=2 生成一个指定大小的空文件
if=文件名:输入文件名
of=文件名:输出文件名
bs=字节大小
count=个数
$ dd if=/dev/zero of=/swapfile bs=1M count=1024
$ mkswap /swapfile
$ swapon /swapfile
增加自动挂载:
在文件/etc/fstab中加入 /swapfile swap swap defaults 0 0
$ sudo vim /etc/fstab
在下面添加/swapfile swap swap defaults 0 0
重启mysql
sudo /etc/init.d/mysql restart
重启后问题解决。