首先先粘贴出来我的错误信息,如下:

2019-07-16T00:53:18.285919Z 0 [System] [MY-010116] [Server] /usr/sbin/mysqld (mysqld 8.0.15) starting as process 18555

2019-07-16T00:53:18.506674Z 0 [ERROR] [MY-012681] [InnoDB] mmap(137428992 bytes) failed; errno 12

2019-07-16T00:53:18.506740Z 1 [ERROR] [MY-012956] [InnoDB] Cannot allocate memory for the buffer pool

2019-07-16T00:53:18.506757Z 1 [ERROR] [MY-012930] [InnoDB] Plugin initialization aborted with error Generic error.

2019-07-16T00:53:18.509371Z 1 [ERROR] [MY-010334] [Server] Failed to initialize DD Storage Engine

2019-07-16T00:53:18.510501Z 0 [ERROR] [MY-010020] [Server] Data Dictionary initialization failed.

2019-07-16T00:53:18.513074Z 0 [ERROR] [MY-010119] [Server] Aborting

2019-07-16T00:53:18.518947Z 0 [System] [MY-010910] [Server] /usr/sbin/mysqld: Shutdown complete (mysqld 8.0.15) MySQL Community Server - GPL.

可以看到服务启动失败,关键看这么一句:Cannot allocate memory for the buffer pool。表明的意思是不能再给innodb的缓存池分配内存了。想到的我的服务器内存很小,才1G,十分有可能是这个原因,进而查资料得知innodb_buffer_pool_size这个默认值是128M,我通过free查看了我的内存剩余200多兆,但是没有设置swap分区大小,或许就是因为系统本身所需内存也不足无法为服务分配空间而导致的服务宕机吧。

那么,接下来我做的事情就两步了:

其一:修改innodb_buffer_pool_size的大小,放置在mysql的配置文件中,我的配置文件是在/etc/mysql/mysql.conf.d/mysqld.cnf中,你们的可能是在/etc/mysql/my.cnf下,根据实际情况来吧。

[mysqld]

pid-file = /var/run/mysqld/mysqld.pid

socket = /var/run/mysqld/mysqld.sock

datadir = /var/lib/mysql

log-error = /var/log/mysql/error.log

innodb_buffer_pool_size = 64M # add here,default is 128M

bind-address = 0.0.0.0

其二:为系统swap分区分配一个值,swap存在的本身作用也就是在系统的物理内存(这里应该是运行内存)不够用的时候,把物理内存中的一部分空间释放出来,以供当前运行的程序使用。用以下命令创建一个swap文件挂载在系统上,需要你在root权限下执行这些操作。

dd if=/dev/zero of=/swapfile bs=1M count=1024

mkswap /swapfile

swapon /swapfile

然后添加/swapfile swap swap defaults 0 0到/etc/fstab文件里面。【作用是保证重启系统前面的操作不会丢失,要让系统重启的时候能自动挂载,需要在fstab文件中配置挂载项。】

LABEL=cloudimg-rootfs/ ext4defaults0 0

/swapfile swap swap defaults 0 0 # add here

最后重启一下mysql就可以了。

查看mysql宕机原因_记录一次mysql宕机的解决办法相关推荐

  1. mysql safe无法启动_(转)mysqld_safe无法启动的解决办法

    启动mysql时报错: Starting mysqld daemon with databases from /var/lib/mysql STOPPING server from pid file ...

  2. 钉钉授权时报获取钉钉用户信息失败,失败原因:访问ip不在白名单之中的解决办法

    前言 公司里的一个钉钉h5应用项目,进入里需要钉钉授权,提示:钉钉授权时报获取钉钉用户信息失败,失败原因:访问ip不在白名单之中的解决办法,这个错误有一段时间了,后来在官方的文档里找到解决方法 钉钉官 ...

  3. hadoop8088端口查看历史打不开,但是在虚拟机上可以打开的解决办法

    hadoop8088端口查看历史打不开,但是在虚拟机上可以打开的解决办法 问题截图 解决办法:修改hosts文件 Win10系统hosts文件 步骤 效果 问题截图 解决办法:修改hosts文件 Wi ...

  4. 上位机通过MX component version 组件与三菱PLC通信解决办法,最新MX component version5支持X64

    上位机通过MX component version4组件与三菱PLC通信解决办法,最新MX component version5支持X64 第一节:MX Component Version软件与手册下 ...

  5. 上位机通过MX component version4 组件与三菱PLC通信解决办法

    引用:https://blog.csdn.net/txb13145826106/article/details/115007885 上位机通过MX component version4 组件与三菱PL ...

  6. MacOS下无法打开软件。原因apple无法检查其是否包含恶意软件。解决办法

    MacOS下无法打开软件.原因apple无法检查其是否包含恶意软件.解决办法 第一种方式 第二种方式 第一种方式 打开系统偏好设置 打开安全性与隐私 点击通用 如果允许从以下位置下载的App中有&qu ...

  7. mysql 1045 28000原因_深入分析MySQL ERROR 1045 (28000)

    这几天在MySQL新建用户后.出现訪问拒绝的问题,错误码为ERROR 1045(28000).在网上搜索了非常久.找到了非常多解决的方法,但非常遗憾的是这么多办法没有一个能解决该问题.尽管出现的错误码 ...

  8. mysql insert 几分钟_我们可以在MySQL中应用INSERT语句时向VARCHAR日期时间记录添加分钟吗?...

    是的,我们可以在将值插入表中时增加分钟数.让我们首先创建一个表.在这里,我们有一列包含VARCHAR记录,其中mysql> create table DemoTable2026 -> ( ...

  9. mysql 1067错误原因_关于MySQL的1067错误解决方法

    内容: ************* 1 安装MYSQL后更改了ROOT的密码后用 net startmysql 启动时我就遇到了这样的问题.使用以下命令后 c:\mysql\bin\mysqladmi ...

  10. 阿里云下mysql远程访问被拒绝_记一次MySQL数据库拒绝访问的解决过程

    最近在折腾wordpress博客,连接MySQL数据库时提示拒绝访问.经过排查,解决了问题.这里记录下解决问题的方案,以及解决的思路.如有遇到类似问题的读者可以参考下. 用wordpress搭博客,数 ...

最新文章

  1. Java开发规范,不要新建一个类就实现Serializable接口
  2. 怎么学python-如何轻松学习Python数据分析
  3. Yslow on Nodejs server
  4. 支持向量机中的函数距离的理解
  5. 机器人学习--路径规划算法
  6. SpringBoot集成Mybatis用法笔记
  7. 504 Gateway Time-out 错误处理记录
  8. ts 视频流手动合并
  9. 什么是陀螺仪的dr算法_如何评价项目:通过陀螺仪传感器算法,从声波振动中提取语音?...
  10. 以正方体一个顶点进行旋转的3D立方体动画
  11. iOS开发UI篇 -- UINagivationController
  12. 适合学生党和上班族的祛痘方法
  13. CAD二次开发合并所有能合并的线
  14. 人体感应模块stm32驱动
  15. resultMap使用不当导致出现There is no WRITEABLE property named 'student_id' in class 'com.ssi.model.Stud
  16. ShaderJoy —— 心形爆炸烟花效果【GLSL】
  17. 中国海洋大学计算机科学与技术考研分数线,中国海洋大学研究生院2020录取分数线...
  18. 浅谈缓存系统的三个问题
  19. Visual Studio 2015 提示安装包损坏或丢失
  20. sequelize 向数据库插入数据,自增id该如何添加

热门文章

  1. Python对YouTube视频统计趋势数据集分析
  2. 激活Windows Vista Home Basic Aero玻璃效果
  3. 加减乘除等符号大全中英对照,在英语中的用法
  4. CAD软件中怎么裁剪参照?
  5. 用acme.sh帮你免费且自动更新的HTTPS证书,省时又省力
  6. 基于Esp8266的远程开机棒设计和实现
  7. 宽带速率单位《Mbps-MBps/换算》
  8. Python之判断闰年
  9. 小高考三门计算机能报大专吗,江苏小高考没过能上大学吗
  10. 记录win10无法通过IE浏览器设置受信任的站点的几种方法