MySQL 报错InnoDB: mmap(**bytes) failed; errno 12 Cannot allocate memory for the buffer poo处理方法

2019-04-24T06:53:57.726704Z 0 [ERROR] InnoDB: mmap(137428992 bytes) failed; errno 12
2019-04-24T06:53:57.726719Z 0 [ERROR] InnoDB: Cannot allocate memory for the buffer pool
2019-04-24T06:53:57.726727Z 0 [ERROR] InnoDB: Plugin initialization aborted with error Generic error
2019-04-24T06:53:57.726733Z 0 [ERROR] Plugin 'InnoDB' init function returned error.
2019-04-24T06:53:57.726737Z 0 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
2019-04-24T06:53:57.726741Z 0 [ERROR] Failed to initialize builtin plugins.

原来是无法给innodb分配足够的内存
free -m 查看服务器内存使用情况:

           total        used        free      shared  buff/cache   available
Mem:           1838         773          83         110         981         748
Swap:            0            0          0

发现swap 虚拟内存为空,需为服务器分配虚拟内存。

以下为Linux服务器设置虚拟内存的方法

原文:https://blog.csdn.net/leofitz/article/details/80261903
首先查看当前的内存和swap 空间大小(默认单位为k, -m 单位为M):

free -m

查看swap信息,包括文件和分区的详细信息

swapon -s或者cat /proc/swaps

如果都没有,我们就需要手动添加交换分区。注意,OPENVZ架构的VPS是不支持手动添加交换分区的。
添加交换空间有两种选择:添加一个交换分区或添加一个交换文件。推荐你添加一个交换分区;不过,若你没有多少空闲空间可用, 则添加交换文件。

增加swap交换文件

1.使用dd命令创建一个swap交换文件

dd if=/dev/zero of=/home/swap bs=1024 count=1024000

这样就建立一个/home/swap的分区文件,大小为1G。

2.制作为swap格式文件:

mkswap /home/swap

3.再用swapon命令把这个文件分区挂载swap分区

swapon /home/swap

我们用free -m命令看一下,发现已经有交换分区了。
但是重启系统后,swap分区又变成0了。

4.为防止重启后swap分区变成0,要修改/etc/fstab文件

vi /etc/fstab

在文件末尾(最后一行)加上

/home/swap swap swap default 0 0

这样就算重启系统,swap分区还是有值。

5.删除swap交换文件

1、先停止swap分区

/sbin/swapoff /home/swap

2、删除swap分区文件

rm -rf /home/swap

3、删除自动挂载配置命令

vi /etc/fstab

这行删除

/home/swap swap swap default 0 0

这样就能把手动增加的交换文件删除了。
注意:

  • 增加删除swap的操作只能使用root用户来操作。
  • 装系统时分配的swap分区貌似删除不了。
  • swap分区一般为内存的2倍,但最大不超过2G

使用分区来做SWAP(虚拟内存).

1. 使用fdisk来创建交换分区(假设 /dev/sdb2 是创建的交换分区)

2. 使用 mkswap 命令来设置交换分区:

mkswap /dev/sdb2

3. 启用交换分区:

swapon /dev/sdb2

4. 写入/etc/fstab,以便在引导时启用:

/dev/sdb2 swap swap defaults 0 0

5. 删除交换分区

步骤如下:

1、先停止swap分区

/sbin/swapoff /dev/sdb2

2、删除自动挂载配置命令

vi /etc/fstab

这行删除

/dev/sdb2 swap swap defaults 0 0

MySQL 报错InnoDB: Cannot allocate memory for the buffer poo处理方法相关推荐

  1. Mysql报错:Cannot allocate memory for the buffer pool

    环境 Linux version 4.18.0-147.5.2.1.h579.eulerosv2r10.x86_64 (abuild@szxrtosci10000) (gcc version 7.3. ...

  2. Docker安装mysql 报错 InnoDB: Table flags are 0 in the data dictionary but the flags in file

    docker 安装mysql5.7 docker run -d -p 3306:3306 -v /data/mysql/conf:/etc/mysql/conf.d -v /data/mysql/da ...

  3. mysql报错error2002_mysql中异常错误ERROR:2002的解决方法分享

    最近在启动mysql的时候发现mysql报错了,错误代码是2002,通过查找相关的资料发现是var/lib/mysql 的访问权限问题,所以这篇文章主要介绍了mysql中异常错误ERROR:2002的 ...

  4. Pulsar bk报错Unable to allocate memory, exiting bookie

    报错 开发人员反映pulsar不可用 每个pulsar bk节点查看 ./bookkeeper shell bookiesanity 发现有2个bk不可用,查看对应日志发现如下 15:36:52.50 ...

  5. Win7环境下mysql报错1045:Access denied for user root@localhost错误解决方法

    产生场景:在涉及到连接数据库操作的时候,会报1045:Access denied for user root@localhost. 比如:本地建立的数据库连接不上,在IDEA等开发工具中使用反向生成. ...

  6. mysql table plugin,MySql报错Table mysql.plugin doesn’t exist的解决方法

    MySql报错Table mysql.plugin doesn't exist的解决方法 一般产生原因是手工更改my.ini的数据库文件存放地址导致的 mysql服务启动时候找不到内置数据库" ...

  7. 启动阿里云上的Mysql报错:The server quit without updating PID file (/[FAILED]mysql/xxxx.pid)解决的另一途径

    一.错误 错误一:正常使用Mysql时,连接突然报错: 2003-can't connect to mysql server on ''(10061) 错误二:看了网上各种方法,决定试试最简单的重启, ...

  8. 禅道启动mysql报错_测试工具之在Linux服务器上部署禅道Bug管理系统

    Linux本次使用到的命令行记录 链接服务器的命令 ssh [root@www.leimingtech.net](mailto:root@www.leimingtech.net) -p 22233 - ...

  9. MySQL报错:SQL错误[1146][42s02]: Table 'tablename' doesn't exist(记一次以为自己删库的经历)

    先说一下这篇文章包含的知识点:bin_log服务查询,bin_log文件转为SQL文件,MySQL重启,MySQL磁盘不足报错,MySQL表名大小写配置 事情起因: 操作数据库的是我们的萌新妹子,不太 ...

  10. mysql报错-ERROR 1206 (HY000)- The total number of locks exceeds the lock table size-的解决方法

    mysql报错"ERROR 1206 (HY000): The total number of locks exceeds the lock table size"的解决方法 问题 ...

最新文章

  1. 实验管理系统java,大学生创新实验室信息管理系统 java+mysql
  2. python基本数据类型的结构和使用方法
  3. centerandzoom 无效_在bootstrap modal 中加载百度地图的信息窗口失效解决方法
  4. 《每日一题》738. Monotone Increasing Digits 单调递增的数字
  5. 8086汇编-实验7-制表
  6. java基础----递归
  7. 操作系统之进程管理:3、进程控制(进程状态转化的实现)、原语、进程通信(共享、管道、消息)
  8. 技巧:Eclipse阿里代码规范插件
  9. 迅雷出现应版权方要求,无法下载的解决办法
  10. 腾格尔发新歌《遥远的地方》,成都邓秀菊自发红包朋友圈寻歌词
  11. 查询水果价格(15 分)
  12. 基于声网 iOS SDK 实现视频直播应用
  13. 「MacTeX 小笔记」LaTeX 学习资料推荐篇
  14. centos 安装scp
  15. mysql中辅导方式选择_MYSQL中如何选择合适的数据类型
  16. 输入一个整数判断其是否是回文数
  17. 1个月写900多条用例,2线城市年薪33W+的测试经理能有多卷?
  18. 电影之《变形金刚4》
  19. rrpp协议如何修改_【网安学术】基于NQA策略的RRPP优化机制
  20. python画对数函数_python中对数函数怎么表示

热门文章

  1. 加权平均np.average()
  2. 悟空遥控器 --- 手机投屏到电视 播放视频
  3. 如何制作千人千面的NFT?如何存储NFT?#Crystals #nft.storage #ipfs
  4. python redis decode_responses
  5. 第二本书:疯狂人类进化史20190621
  6. [爬虫]requests+正则表达式爬取猫眼电影TOP100
  7. jle汇编_汇编跳转指令集
  8. sigmoid代码实现
  9. 云服务器抢票咋用_抢票的实现方法
  10. win7计算机用户配置文件存储路径,windows7系统电脑临时文件夹保存路径在哪