SQL The server quit without updating PID file ([FAILED]sql/mysqld.pid)
阅读(4627)在一台低配的阿里云机器上,启动MySQL时遇到如下提示:
Starting MySQL..The server quit without updating PID file ([FAILED]sql/mysqld.pid).
查对应的mysql日志mysqld.err(log默认位于数据存储的位置),关键信息如下:
InnoDB: mmap(137363456 bytes) failed; errno 12
2015-12-17 11:01:17 27971 [ERROR] InnoDB: Cannot allocate memory for the buffer pool
2015-12-17 11:01:17 27971 [ERROR] Plugin 'InnoDB' init function returned error.
2015-12-17 11:01:17 27971 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
2015-12-17 11:01:17 27971 [ERROR] Unknown/unsupported storage engine: InnoDB
2015-12-17 11:01:17 27971 [ERROR] Aborting
内存空间不足分配导致MySQL启动失败。
修改 my.cnf,将innodb_buffer_pool_size
的值设置得更小一些,问题依旧。
top
查看一下,此时并未开启swap空间,那么就开一个吧。
- root权限
dd if=/dev/zero of=/swapfile bs=1M count=1024
mkswap /swapfile
swapon /swapfile
,如果提醒设置0600的权限更安全,那就设置一下吧,忽略也没关系。- 确保每次重启会自动启动swap,在 /etc/fstab 文件后怎加一行:
/swapfile swap swap defaults 0 0
重新启动MySQL,OK。