mysql报错mmap(137428992 bytes) failed; errno 12,Cannot allocate memory for the buffer pool
mysql以`systemctl start mysqld.service`的方式启动一段时间后发现突然无法启动,尝试重新启动也不能解决问题,排查问题时,先后通过`systemctl status mysqld.service`和`journalctl -xe` 命令查看问题,无所得.然后查看`/var/log/mysqld.log`发现日志内报错信息如下:
网上查阅资料,有人说是 swap不够了,使用`free`命令查看发现空余swap确实为0,但很奇怪,我买的vultr和ecs使用`free`看到的空余的swap都是0,那么为什么vultr部署的mysql服务挂掉了,ecs的没有挂掉呢? 后来使用命令`sudo dd if=/dev/zero of=/swapfile bs=1M count=1024` 增加swap发现不起作用,我的空余swap仍然是0。
又查阅资料,有人说修改`my.cnf`里,将`innodb_buffer_pool_size` 注释打开,然后重启服务,发现还是报错.
后来将我的`my.cnf` 里的`innodb_buffer_pool_size= 64M`调低到64M,然后重启服务,mysql启动成功。
总结: 可能是我的服务器配置较低,使得mysql5.7正常的 `Initializing buffer pool=128`无法分配成功,降低其配置即可以。
`
问题2: Changed limits: max_open_files: 5000 (requested 5010)
使用 ` ulimit -n `命令是否 linux系统做了限制;
查看`vim /usr/lib/systemd/system/mysqld.service`下的`LimitNOFILE `看是否有5000限制,调整成65535即可。
参考自 [这里](http://blog.itpub.net/20893244/viewspace-2152685/)
问题3: 阿里云服务器 mysql经常自动停止挂掉重启的完美解决方式
解决: [这里](https://blog.csdn.net/xuz0917/article/details/79100834)
[这里](https://jingyan.baidu.com/article/da1091fb032cad027949d64e.html)
问题4: IP address 'x.x.x.x' could not be resolved: Name or service not known
解决: [这里](https://www.jb51.net/article/70893.htm)
`my.cnf`里配置`skip-name-resolve
`
问题5: Got error: 1045: Access denied for user 'root'@'localhost' (using password:
解决: `my.cnf`里去掉`skip-name-resolve
最新文章
- .NET Web的身份认证
- 写 test-case心得
- 前端学习之回调函数、call方法、apply方法
- Linux环境下使用C/C++编写CGI(httpd)
- Sqlserver添加或更新数据SQL
- mysql 动态sql语句
- 2014年2月份第4周51Aspx源码发布详情
- 杀死future处理的阻塞线程
- 单源最短路_SPFA_C++
- 一起刷LeetCode5-Longest Palindromic Substring
- Webpack 傻瓜式指南(一)
- UVA 11889 Benefit
- JQuery中常用方法备忘
- Django+Vue打造购物网站(二)
- eclipse4.6.1安装SpringSource Tool Suite(sts-eclipse)插件
- About the test in development
- ASP.NET Web APIs 基于令牌TOKEN验证的实现(保存到DB的Token)
- SSM实战——秒杀系统之创建项目、管理依赖、设计数据库
- 20145127《java程序设计》第四周学习总结
- sql优化常用命令总结