最近帮别人做的一个项目机器上面跑MySQL老是隔一段时间就自动停了。刚开始以为是以外停止,也没注意,就手动再启动。可是过了没两天又停止了。

后来仔细查了查mysqld的日志:

2020-05-27T10:15:12.569342Z 0 [System] [MY-010116] [Server] /usr/libexec/mysqld (mysqld 8.0.17) starting as process 19493
2020-05-27T10:15:14.448256Z 0 [System] [MY-010229] [Server] Starting crash recovery...
2020-05-27T10:15:14.475411Z 0 [System] [MY-010232] [Server] Crash recovery finished.
2020-05-27T10:15:14.691345Z 0 [Warning] [MY-010068] [Server] CA certificate ca.pem is self signed.
2020-05-27T10:15:15.677386Z 0 [System] [MY-010931] [Server] /usr/libexec/mysqld: ready for connections. Version: '8.0.17' socket: '/var/lib/mysql/mysql.sock' port: 3306 Source distribution.
2020-05-27T10:15:15.951210Z 0 [System] [MY-011323] [Server] X Plugin ready for connections. Socket: '/var/lib/mysql/mysqlx.sock' bind-address: '::' port: 33060
2020-05-27T11:26:19.955004Z 0 [System] [MY-010116] [Server] /usr/libexec/mysqld (mysqld 8.0.17) starting as process 19757
2020-05-27T11:26:20.181302Z 0 [ERROR] [MY-012681] [InnoDB] mmap(137363456 bytes) failed; errno 12
2020-05-27T11:26:20.181360Z 1 [ERROR] [MY-012956] [InnoDB] Cannot allocate memory for the buffer pool
2020-05-27T11:26:20.181379Z 1 [ERROR] [MY-012930] [InnoDB] Plugin initialization aborted with error Generic error.
2020-05-27T11:26:20.181401Z 1 [ERROR] [MY-010334] [Server] Failed to initialize DD Storage Engine
2020-05-27T11:26:20.181543Z 0 [ERROR] [MY-010020] [Server] Data Dictionary initialization failed.
2020-05-27T11:26:20.183642Z 0 [ERROR] [MY-010119] [Server] Aborting
2020-05-27T11:26:20.184163Z 0 [System] [MY-010910] [Server] /usr/libexec/mysqld: Shutdown complete (mysqld 8.0.17) Source distribution.

上面显示是Cannot allocate memory for the buffer pool,无法分配内存给缓存池。马上想到是内存不足,这台机器是1GB的内存,还跑着 Nginx 和 PHP-FPM 。

使用 top 看了看 mysqld 占用的内存达到了48% 。内存占用还是蛮高的。

当然了升级机器配置是比较好的办法,但是毕竟经费有限。所以我们先给它加个swap交换空间:

dd if=/dev/zero of=/swapfile bs=1M count=2048mkswap /swapfileswapon /swapfilesystemctl restart mysqld

睡了一觉起来一看,mysqld服务没有再自动停止,内存占用已经下降到22%,看了看错误日志,也是空的。

嗯,看来还不错嘛。再观察个几天看看,没问题的话应该就好了😎😎😎。

好了,到此这篇关于MySQL自动停机的问题处理的文章就介绍到这了,更多相关MySQL自动停机处理内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!

更多相关文章

  1. MySQL系列多表连接查询92及99语法示例详解教程
  2. Linux下MYSQL 5.7 找回root密码的问题(亲测可用)
  3. MySQL 什么时候使用INNER JOIN 或 LEFT JOIN
  4. Android(安卓)10 定位问题,获取NMEA(支持5.0~10.0)
  5. mybatisplus的坑 insert标签insert into select无参数问题的解决
  6. 关于Android(安卓)Studio3.2新建项目Android(安卓)resource link
  7. Android软键盘适配问题
  8. SlidingMenu和ActionBarSherlock结合做出出色的App布局,Facebook
  9. android解决坚屏拍照和保存图片旋转90度的问题,并兼容4.0

随机推荐

  1. AndroidStudio安装及配置Gradle遇到的Err
  2. android xutils
  3. android ctl属性的实现过程
  4. Android 应用程序构成
  5. android在处理一写图片资源的时候,会进行
  6. android sim卡 TelephonyManager类:Androi
  7. 【自学Android】使用ModelView,DataBindi
  8. Android动画学习笔记-Android Animation
  9. android 开启Https单向认证
  10. textview设置文本每行的行间距