mysql.service: Main process exited, code=exited, status=1/FAILURE

一、问题现象:
1.服务器(ubuntu 17.04)安装mysql服务时出错。
mysql.service: Main process exited, code=exited, status=1/FAILURE_第1张图片
2.查看日志(cat /var/log/mysql/error.log )发现如下错误:

2017-12-27T08:36:46.406267Z 0 [ERROR] InnoDB: mmap(137428992 bytes) failed; errno 12
2017-12-27T08:36:46.406283Z 0 [ERROR] InnoDB: Cannot allocate memory for the buffer pool
2017-12-27T08:36:46.406292Z 0 [ERROR] InnoDB: Plugin initialization aborted with error Generic error
2017-12-27T08:36:46.406310Z 0 [ERROR] Plugin 'InnoDB' init function returned error.
2017-12-27T08:36:46.406319Z 0 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
2017-12-27T08:36:46.406345Z 0 [ERROR] Failed to initialize plugins.
2017-12-27T08:36:46.406351Z 0 [ERROR] Aborting

二、错误原因:
1.是由于操作系统没有配置swapfile(分配swap空间)导致的。

三、解决方案:
1.执行free -m

total       used       free     shared    buffers     cached
Mem:        604340     587364      16976          0      29260      72280
-/+ buffers/cache:     485824     118516
Swap:            0          0          0

Swap: 0 表示没有 swapfile.

2.添加swapfile

sudo fallocate -l 1g /mnt/1GiB.swap

fallocate size suffixes: g = Giga, m = Mega, etc. (See man fallocate).

If fallocate fails or it not available, you can use dd:

sudo dd if=/dev/zero of=/mnt/1GiB.swap bs=1024 count=1048576

We need to set the swap file permissions to 600 to prevent other users from being able to read potentially sensitive information from the swap file.

sudo chmod 600 /mnt/1GiB.swap

Format the file as swap:

sudo mkswap /mnt/1GiB.swap

Enable use of Swap File

sudo swapon /mnt/1GiB.swap

The additional swap is now available and verified with: cat /proc/swaps

Enable Swap File at Bootup
Add the swap file details to /etc/fstab so it will be available at bootup:

echo '/mnt/1GiB.swap swap swap defaults 0 0' | sudo tee -a /etc/fstab

四、相关文献
1.https://stackoverflow.com/questions/25965638/mysql-fatal-error-cannot-allocate-memory-for-the-buffer-pool/32932601

2.https://help.ubuntu.com/community/SwapFaq

你可能感兴趣的:(mysql)