InnoDB: mmap(137363456 bytes) failed; errno 12 解决mysql缓存溢出的问题

导读:本篇文章讲解 InnoDB: mmap(137363456 bytes) failed; errno 12 解决mysql缓存溢出的问题,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

问题

今天登陆我的centos服务器上的mysql数据库时,居然报出了这个错误:

在这里插入图片描述

分析问题

软件版本

是不是和软件版本有关系呢?

查看linux版本

使用如下指令查询服务器版本号:

cat /etc/redhat-release

如下图所示:
在这里插入图片描述

查看mysql版本

  • 使用如下指令,进入mysql数据库:
mysql -u root -p
  • 查看mysql版本号:
mysql> SELECT VERSION();

+-----------+
| VERSION() |
+-----------+
| 5.7.18    |
+-----------+
1 row in set (0.01 sec)

通过查看Linux服务器和mysql数据库,发现没有任何问题。

查看错误

查找错误日志

感觉一头雾水,此时,别紧张,我们通过cat命令查看mysql的错误日志在哪里,于是通过如下指令查看错误日志:

cat /etc/my.cnf

结果如图所示:

在这里插入图片描述

查看错误信息

通过tail命令查看前20行错误信息:

 # 这表示只看最新的20行错误信息
 tail -n 20 /var/log/mysqld.log 

错误如下图所示:

在这里插入图片描述
这是缓存溢出的问题。

解决问题-缓存溢出

既然是缓存溢出的问题,那就修改my.cnf中的innodb_buffer_pool_size = 8M这个值。

因为我的服务器比较小,而mysql默认缓冲池的大小是128M

我们计算128M是多少字节:128 * 1024 * 1024 = 134217728 ,几乎等同于错误的字节数。

我小小的服务器不支持这么大的缓冲池,因而,将其设置为8M。

问题完美解决。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/99242.html

(0)
小半的头像小半

相关推荐

极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!