昨天mysql数据库运行运行着突然就无法连接了!!!
出现:MySQL server PID file could not be found!
Starting MySQL.. ERROR! The server quit without updating PID file
刚开始以为是pid出了问题:
无法启动mysql,后来上网找了一下解决方法,无非就是以下几种
1. 注释/etc/my.cnf里的skip-federated注释掉即#skip-federated;
2. my.cnf文件配置过高,重新定义其中的参数(根据服务器情况定义);
3. 杀掉mysql_safe和mysqld进程,然后再重启;
4. 当前日志文件过大,超出了my.cnf中定义的大小(默认为64M),删除日志文件再重启;
后来发现都不是!(一定要先查看错误日志,弄清楚问题所在)
去看错误日志: /alidata/log/mysql/error.log
//阿里云服务器一键web环境lamp的error.log路径,也可以去/etc/my.cnf里查看error.log的路径
查看出错信息:cannot allocate the memory for the buffer pool
原来是内存不够用了!(我的服务器只有1G !)
可以去服务器管理平台重启服务器 会发现马上就没事了
然后更改/etc/my.cnf的配置:
innodb_buffer_pool_size 这个调整小一点。
没有就增加一条(好像默认128M),可以调成64M 或者96M
innodb_buffer_pool_size = 96M
更改 /etc/my.cnf 增加或修改
innodb_log_buffer_size = 8M
innodb_log_file_size = 64M
另:
mysql5.6 低配的服务器是很难跑起来的,似乎默认的配置要求更高。