云顶集团官网手机版-云顶集团网站

热门关键词: 云顶集团官网手机版,云顶集团网站
主导就有答案,又没办法利用 swap
分类:数据库

从今自身维护blog以往,基本一个月内,都会现出1,2次这种不当,以前清除的办法很简短,正是把虚构机重启一下就足以。常常是网上朋友在Wechat,qq,乐乎提示自身blog挂掉。

引言

偏巧国庆之间碰上,就顺手提升级中学一年级下和煦的运行技能,看看实际的案由。

近年博客又抽风了,展开主页后提示 Error Establishing a Database Connection 。留神思量,应该正是数据库服务器 mariadb 挂了;从前也赶过过相近的标题。经过剖判日志,并整合英特网的资料最后解决了难点。

tail /var/log/mariadb/mariadb.log

日志

拜望大概的失实

以下是 mariadb 服务器挂掉时的相当重大的日记消息,从底下的日记音信中,大家能够十分轻便地看见由于内部存款和储蓄器不足,进而导致数据库服务器运维时崩溃。

161004 11:21:05 InnoDB: Fatal error: cannot allocate memory for the buffer pool161004 11:21:05 [ERROR] Plugin 'InnoDB' init function returned error.161004 11:21:05 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.161004 11:21:15 [Note] Plugin 'FEEDBACK' is disabled.161004 11:21:16 [ERROR] Unknown/unsupported storage engine: InnoDB161004 11:21:16 [ERROR] Aborting

InnoDB: Starting crash recovery.InnoDB: Reading tablespace information from the .ibd files...InnoDB: Restoring possible half-written data pages from the doublewriteInnoDB: buffer...160919 2:47:12 InnoDB: Waiting for the background threads to start160919 2:47:13 Percona XtraDB () 5.5.46-MariaDB-37.6 started; log sequence number 352718445160919 2:47:13 [ERROR] mysqld: Out of memory (Needed 128917504 bytes)160919 2:47:13 [Note] Plugin 'FEEDBACK' is disabled.160919 2:47:13 [Note] Server socket created on IP: '0.0.0.0'.160919 2:47:13 [Note] Event Scheduler: Loaded 0 events160919 2:47:13 [Note] /usr/libexec/mysqld: ready for connections.Version: '5.5.47-MariaDB' socket: '/var/lib/mysql/mysql.sock' port: 3306 MariaDB Server160919 02:47:35 mysqld_safe Number of processes running now: 0160919 02:47:35 mysqld_safe mysqld restarted160919 2:47:35 [Note] /usr/libexec/mysqld (mysqld 5.5.47-MariaDB) starting as process 28614 ...160919 2:47:35 InnoDB: The InnoDB memory heap is disabled160919 2:47:35 InnoDB: Mutexes and rw_云顶集团网站,locks use GCC atomic builtins160919 2:47:35 InnoDB: Compressed tables use zlib 1.2.7160919 2:47:35 InnoDB: Using Linux native AIO160919 2:47:35 InnoDB: Initializing buffer pool, size = 128.0MInnoDB: mmap(137756672 bytes) failed; errno 12160919 2:47:35 InnoDB: Completed initialization of buffer pool160919 2:47:35 InnoDB: Fatal error: cannot allocate memory for the buffer pool160919 2:47:35 [ERROR] Plugin 'InnoDB' init function returned error.160919 2:47:35 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.160919 2:47:35 [ERROR] mysqld: Out of memory (Needed 128917504 bytes)160919 2:47:35 [ERROR] mysqld: Out of memory (Needed 96681984 bytes)160919 2:47:35 [ERROR] mysqld: Out of memory (Needed 72499200 bytes)160919 2:47:35 [Note] Plugin 'FEEDBACK' is disabled.160919 2:47:35 [ERROR] Unknown/unsupported storage engine: InnoDB160919 2:47:35 [ERROR] Aborting

骨子里本身也能猜到,料定是数据库的内部存款和储蓄器使用有甚难点。

解决

有荒谬,其实正是利用google,基本就有答案

在使用 free -m 查看内部存款和储蓄器音信时,开采 swap 分区大小为 0。难怪说数据库服务器不能够起动呢,在内存相当不够用的情况下,又无能为力选择 swap 分区,自然崩溃了。由于 VPS 使用了 SSD,质量自然不错。上面大家给服务器系统 CentOS 7 增加 1024M 的 swap 分区,接纳的主意是成立一个 swap 文件:

自己利用的上位的设想机,swap分区,正是1G,所以理应也无需创设。

选拔下边包车型大巴命令创设 swapfile :

编辑 /etc/my.cnf,

# 1048576 = 1024 * 1024dd if=/dev/zero of=/swapfile bs=1024 count=1048576
[mysqld]innodb_buffer_pool_size=64M

应用上边的通令配置 swap 文件:

重启mysql

mkswap /swapfile

systemctl restart mariadb

接下去,使用上边的下令立刻启用 swapfile ,那样就不要等到后一次重启时自动启用:

查阅swap内部存款和储蓄器使用

swapon /swapfile

# free -m total used free shared buff/cache availableMem: 993 431 386 6 175 424Swap: 1023 0 1023

末段,大家在 /etc/fstab 中加多上面风姿洒脱行,那样能够在系统下一次重启时自动生效创设的 swapfile :

翻看一下开发银行日志

/swapfile swap swap defaults 0 0

[root@chenshake mariadb]# tail /var/log/mariadb/mariadb.log 161004 20:42:46 InnoDB: Initializing buffer pool, size = 64.0M161004 20:42:46 InnoDB: Completed initialization of buffer pool161004 20:42:46 InnoDB: highest supported file format is Barracuda.161004 20:42:46 InnoDB: Waiting for the background threads to start

利用 cat /proc/swaps 或 free -m 查看 swapfile 的见到成效景况,如下图所示:

精心关切一下持续的法力怎么样。

在完结地方的步子后,我们还足以在 /etc/my.cnf 配置文件中增多一些配置新闻,收缩 mariadb 能源需要,具体的配备请参谋文末给出的链接。

启动

起步 apache 服务器: systemctl start ;运维 mariadb 服务器: systemctl start mariadb.service 。运维实现后,再一次张开网址主页,bingo,难点消除了!

总结

低配 VPS 最棒恐怕要多扩展 swap 分区大小,极度对于利用 SSD 的 VPS 来讲, swap 分区的习性也非常不错;数据库服务器崩溃后,必要求记得学会解析日志。最简易的做法便是运用 tail 命令看看近期的倒台日志,并根据崩溃消息搜索搞定难题的法门;

WordPress 程序自身比较占财富,所以运维在低配的 VPS 时,依然需要做些优化办事。具体请仿效文末给出的链接。

本文由云顶集团官网手机版发布于数据库,转载请注明出处:主导就有答案,又没办法利用 swap

上一篇:于是有的方法二云顶集团网站,MariaDB数据库管理 下一篇:没有了
猜你喜欢
热门排行
精彩图文