MySQL运行一段时间后自动停止问题的排查

2018-06-18 00:09:58来源:未知 阅读 ()

新老客户大回馈,云服务器低至5折

在进入主题前,一定要先吐槽下自己,前段时间购买了一台阿里云服务器,最开始打算只是自己个人用的,就买了一台配置很寒碜的服务器:

  • CPU: 1核
  • 内存: 1 GB
  • 操作系统: CentOS 7.2 64位

这个配置亮出来估计好多人都已经知道答案了,下面就说下问题排查的步骤:

  1. 使用Xshell远程连接上服务器,使用命令 service mysqld restart重启mysql,提示:
MySQL server PID file could not be found! [FAILED]
Starting MySQL.The server quit without updating PID file(/[FAILED]server/mysql/data/iZ2zeabsxnnfzh13g8yqxjZ.pid).

  2. 去看mysql的错误日志,但是不知道错误日志在哪里,先去找找mysql的my.cnf文件,这里需要注意下,我在mysql的安装目录下的确找到了一个my.cnf文件,但是改了很多配置项发现没有任何作用,google后才知道这个并不是当前使用的配置文件my.cnf,参考这篇文章找到当前使用的配置文件https://my.oschina.net/manech/blog/861991,找到了配置文件(/etc/my.cnf),找到了错误日志的地方:

log-error=/alidata/log/mysql/error.log,

  3. 去错误日志看看:

2017-09-03 17:38:21 20390 [Note] InnoDB: The InnoDB memory heap is disabled
2017-09-03 17:38:21 20390 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins
2017-09-03 17:38:21 20390 [Note] InnoDB: Memory barrier is not used
2017-09-03 17:38:21 20390 [Note] InnoDB: Compressed tables use zlib 1.2.3
2017-09-03 17:38:21 20390 [Note] InnoDB: Using Linux native AIO
2017-09-03 17:38:21 20390 [Note] InnoDB: Using CPU crc32 instructions
2017-09-03 17:38:21 20390 [Note] InnoDB: Initializing buffer pool, size = 128.0M
InnoDB: mmap(137363456 bytes) failed; errno 12
2017-09-03 17:38:21 20390 [ERROR] InnoDB: Cannot allocate memory for the buffer pool
2017-09-03 17:38:21 20390 [ERROR] Plugin ‘InnoDB’ init function returned error.
2017-09-03 17:38:21 20390 [ERROR] Plugin ‘InnoDB’ registration as a STORAGE ENGINE failed.
2017-09-03 17:38:21 20390 [ERROR] Unknown/unsupported storage engine: InnoDB
2017-09-03 17:38:21 20390 [ERROR] Aborting
2017-09-03 17:38:21 20390 [Note] Binlog end
2017-09-03 17:38:21 20390 [Note] Shutting down plugin ‘partition’
2017-09-03 17:38:21 20390 [Note] Shutting down plugin ‘PERFORMANCE_SCHEMA’

其中标为黄色的就比较重要了,百度Cannot allocate memory for the buffer pool都说是无法给innodb分配足够的内存,大多数给出的解决的方案是:修改innodb_buffer_pool_size,但是我这个my.cnf里面没有,那就加一个被呗,顺便将这个字段设置成200M,重启mysql发现一样的结果,还是启动不了,去看日志还是一样的问题,还是太大咯?

  4.用free -m看下

              total        used        free      shared  buff/cache   available
Mem:            992         574         159           0         258         260
Swap:             0           0           0

只有185M的内存了,只能再改小点咯,改成64.

  5.service mysqld restart,终于

Starting MySQL. [ OK ]

买了一台废柴。。。

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:MySQL的JOIN(一):用法

下一篇:MySQL基本操作