查看mysql宕机原因_记录一次mysql宕机的解决办法
首先先粘贴出来我的错误信息,如下:
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宕机的解决办法相关推荐
- mysql safe无法启动_(转)mysqld_safe无法启动的解决办法
启动mysql时报错: Starting mysqld daemon with databases from /var/lib/mysql STOPPING server from pid file ...
- 钉钉授权时报获取钉钉用户信息失败,失败原因:访问ip不在白名单之中的解决办法
前言 公司里的一个钉钉h5应用项目,进入里需要钉钉授权,提示:钉钉授权时报获取钉钉用户信息失败,失败原因:访问ip不在白名单之中的解决办法,这个错误有一段时间了,后来在官方的文档里找到解决方法 钉钉官 ...
- hadoop8088端口查看历史打不开,但是在虚拟机上可以打开的解决办法
hadoop8088端口查看历史打不开,但是在虚拟机上可以打开的解决办法 问题截图 解决办法:修改hosts文件 Win10系统hosts文件 步骤 效果 问题截图 解决办法:修改hosts文件 Wi ...
- 上位机通过MX component version 组件与三菱PLC通信解决办法,最新MX component version5支持X64
上位机通过MX component version4组件与三菱PLC通信解决办法,最新MX component version5支持X64 第一节:MX Component Version软件与手册下 ...
- 上位机通过MX component version4 组件与三菱PLC通信解决办法
引用:https://blog.csdn.net/txb13145826106/article/details/115007885 上位机通过MX component version4 组件与三菱PL ...
- MacOS下无法打开软件。原因apple无法检查其是否包含恶意软件。解决办法
MacOS下无法打开软件.原因apple无法检查其是否包含恶意软件.解决办法 第一种方式 第二种方式 第一种方式 打开系统偏好设置 打开安全性与隐私 点击通用 如果允许从以下位置下载的App中有&qu ...
- mysql 1045 28000原因_深入分析MySQL ERROR 1045 (28000)
这几天在MySQL新建用户后.出现訪问拒绝的问题,错误码为ERROR 1045(28000).在网上搜索了非常久.找到了非常多解决的方法,但非常遗憾的是这么多办法没有一个能解决该问题.尽管出现的错误码 ...
- mysql insert 几分钟_我们可以在MySQL中应用INSERT语句时向VARCHAR日期时间记录添加分钟吗?...
是的,我们可以在将值插入表中时增加分钟数.让我们首先创建一个表.在这里,我们有一列包含VARCHAR记录,其中mysql> create table DemoTable2026 -> ( ...
- mysql 1067错误原因_关于MySQL的1067错误解决方法
内容: ************* 1 安装MYSQL后更改了ROOT的密码后用 net startmysql 启动时我就遇到了这样的问题.使用以下命令后 c:\mysql\bin\mysqladmi ...
- 阿里云下mysql远程访问被拒绝_记一次MySQL数据库拒绝访问的解决过程
最近在折腾wordpress博客,连接MySQL数据库时提示拒绝访问.经过排查,解决了问题.这里记录下解决问题的方案,以及解决的思路.如有遇到类似问题的读者可以参考下. 用wordpress搭博客,数 ...
最新文章
- Java开发规范,不要新建一个类就实现Serializable接口
- 怎么学python-如何轻松学习Python数据分析
- Yslow on Nodejs server
- 支持向量机中的函数距离的理解
- 机器人学习--路径规划算法
- SpringBoot集成Mybatis用法笔记
- 504 Gateway Time-out 错误处理记录
- ts 视频流手动合并
- 什么是陀螺仪的dr算法_如何评价项目:通过陀螺仪传感器算法,从声波振动中提取语音?...
- 以正方体一个顶点进行旋转的3D立方体动画
- iOS开发UI篇 -- UINagivationController
- 适合学生党和上班族的祛痘方法
- CAD二次开发合并所有能合并的线
- 人体感应模块stm32驱动
- resultMap使用不当导致出现There is no WRITEABLE property named 'student_id' in class 'com.ssi.model.Stud
- ShaderJoy —— 心形爆炸烟花效果【GLSL】
- 中国海洋大学计算机科学与技术考研分数线,中国海洋大学研究生院2020录取分数线...
- 浅谈缓存系统的三个问题
- Visual Studio 2015 提示安装包损坏或丢失
- sequelize 向数据库插入数据,自增id该如何添加