某日发现mysql自动关闭了,查找错误日志发现以下错误

2017-07-14 13:07:30 5494 [Note] InnoDB: Initializing buffer pool, size = 128.0M
InnoDB: mmap(137363456 bytes) failed; errno 12
2017-07-14 13:07:30 5494 [ERROR] InnoDB: Cannot allocate memory for the buffer pool
2017-07-14 13:07:30 5494 [ERROR] Plugin 'InnoDB' init function returned error.
2017-07-14 13:07:30 5494 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
2017-07-14 13:07:30 5494 [ERROR] Unknown/unsupported storage engine: InnoDB
2017-07-14 13:07:30 5494 [ERROR] Aborting  

分析说明,mysql的innodb的buffer pool需要128m的内存支持,但我的服务器内存情况如下

[root@vm172-31-0-13 home]# free -m
total used free shared buffers cached
Mem: 1877 1804 72 0 5 139
-/+ buffers/cache: 1659 217
Swap: 0 0 0

可见,剩余内存已经不足128M,而且没有swap分区,至此,mysql自动关闭了。

swap分区可以见建系统的时候创建,也可以后面用创建文件的方式创建。

我们用后者方式来创建:

1,使用dd命令创建一个swap分区

dd if=/dev/zero of=/home/swap bs=1M count=4096 

这样就创建了一个分区大小为4G的/home/swap文件,接下来格式化该分区文件。

2,格式化/home/swap文件。

 mkswap /home/swap  

3,用swapon命令把/home/swap文件分区划成swap分区

[root@cms home]# swapon /home/swap
[root@cms home]# free -m
total used free shared buffers cached
Mem: 7872 7730 142 0 70 6394
-/+ buffers/cache: 1264 6608
Swap: 4095 0 4095

4,修改/etc/fstab文件添加/home/swap swap swap default 0 0,即使重启也能自动挂载。

[root@cms home]# vi /etc/fstab
#
# /etc/fstab
# Created by anaconda on Tue Jan 26 21:10:02 2016
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
UUID=f8cb78d5-8419-4bcf-8684-9e8a94480f22 / ext4 defaults 1 1
UUID=9e4bacd3-490c-4e87-a5e0-fec240a3e229 /usr xfs defaults 1 2
tmpfs /dev/shm tmpfs defaults 0 0
devpts /dev/pts devpts gid=5,mode=620 0 0
sysfs /sys sysfs defaults 0 0
proc /proc proc defaults 0 0
/home/swap swap swap default 0 0
"/etc/fstab" 16L, 788C written

  

最新文章

  1. float、double的有效位数
  2. sql月份销售统计
  3. shell 条件判断语句整理
  4. Openvswitch原理与代码分析(4):网络包的处理过程
  5. 25个实用的jquery技巧
  6. C# Enum Type
  7. Nodejs开发指南-笔记
  8. Linux设备驱动编程中的中断与定时器处理
  9. stuff about set multiset map multimap
  10. LINQ对List列表随机排序,取N条数据
  11. Python爬虫小白入门(五)PhatomJS+Selenium第二篇
  12. 浅谈Socket长连+多线程[原创,欢迎指点]
  13. React的学习(上)
  14. 一个简易的服务框架lsf
  15. 谈谈Circuit Breaker在.NET Core中的简单应用
  16. Winfrom 动画实现
  17. java+Selenium+TestNg搭建自动化测试架构(3)实现POM(page+Object+modal)
  18. Ubuntu 16.04下配置intel opencl环境
  19. js手机端和pc端加载不同的样式
  20. [转]An Intuitive Explanation of Convolutional Neural Networks

热门文章

  1. C++ 学习安排
  2. jdbc元数据
  3. ArrayList去除集合中字符串的重复值
  4. 阶段3 3.SpringMVC·_06.异常处理及拦截器_4 SpringMVC拦截器之介绍和搭建环境
  5. 必会SQL笔试题
  6. mongod 对指定数据库创建用户
  7. idea Ctrl+Alt+T 快捷键失效
  8. the property “***” on could not be set to a null value
  9. Laravel NPM包的使用
  10. [c++] 用宏定义一个函数