1、描述
选择阿里云机器最低的配置(1核512M内存)时,当应用服务大量运行的时候,会出现内存不足的情况,导致Mysql数据库不能启动。
2、处理
第一步:
查看mysql服务进程有没有在运行,命令行如下:
ps -ef |grep mysqld
如果在运行,可以通过如下命令行,登录mysql查看服务是否正常
mysql -uroot -p密码
如果没有在运行,则通过如下命令行启动mysql
/etc/init.d/mysqld start
第二步:
查看mysql服务的端口有没有被监听
netstat -tulnp|grep mysqld
第三步:
查看mysql的错误日志
tail -n 40 /alidata/log/mysql/error.log
第四步:
例如错误代码12,查看错误代码12的详细信息
perror 12
error code 12: Cannot allocate memory(无法分配内存)
第五步:
查看系统内存信息,查看内存的使用大小,缓存的大小,空闲的内存大小。
free -m
第六步:
查看当前系统中进程所占用的资源情况,查看哪个应用使用了大量的内存
ps -axu
第七步:
释放所有的缓存,或者重启占用大量内存的服务
echo 3 > /proc/sys/vm/drop_caches
第八步:启动mysql服务
注:可通过更改php-fpm.conf的pm.max_children的参数减少子连接数。