记一次mariadb数据库无法连接

自从自己维护blog以后,基本一个月内,都会出现1,2次这种错误,以前解决的办法很简单,就是把虚拟机重启一下就可以。经常是网友在微信,qq,微博提醒我blog挂掉。

刚好国庆期间碰上,就顺便提高一下自己的运维能力,看看具体的原因。

tail /var/log/mariadb/mariadb.log

看到大概的错误

161004 11:21:05 InnoDB: Fatal error: cannot allocate memory for the buffer pool
161004 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: InnoDB
161004 11:21:16 [ERROR] Aborting

其实我也能猜到,肯定是数据库的内存使用有啥问题。

有错误,其实就是利用google,基本就有答案

http://www.webtrafficexchange.com/solved-mysql-crash-fatal-error-cannot-allocate-memory-buffer-pool

我使用的青云的虚拟机,swap分区,就是1G,所以应该也不需要创建。

编辑 /etc/my.cnf,

[mysqld]
innodb_buffer_pool_size=64M

重启mysql

systemctl restart mariadb

查看swap内存使用

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

查看一下启动日志

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

密切关注一下后续的效果如何。

(0)

相关推荐

  • myeclipse中连接mysql数据库示例代码

    1. 环境配置 下载地址:http://www.mysql.com/downloads/mysql/ 真麻烦,下载的话还需要注册和登录以及填个表.上面的信息还挺全的,乱填的信息也是可以接受的~~ 下载后按提示安装即可,最后设置登录mysql用的密码.安装完成后,测试连接数据库.在开始-程序中点击MYSQL5.5 Command Line cilent,输入刚才设定的密码后,应该后就能连上mysql服务器了. 在安装后的软件包中,mysql_server\Connector J XXXX中可以找到

  • 查找oracle数据库表中是否存在系统关键字的方法

    今天在工程中遇到"ORA-01747: user.table.column, table.column 或列说明无效"的报错情况,查了一下是由于数据库列名起的不好引起的,名字用到了数据库的关键字. select * from v$reserved_words where keyword in( select COLUMN_NAME from all_tab_columns where table_name = '表名大写' and owner='用户名大写' ); ID可以忽略

  • Myeclipse连接mysql数据库心得体会

    我是给同学做一个J2EE 关于struct+hibernate结构的课设,数据库以前用的是Oracle,数据库丢失,不想装Oracle,那玩意装在本子上太刀了,卸不掉恶心...就换个mysql给他改改,网上的一些帖子,太老了,版本以及网址都是翻新没有翻内容,头大,不给力啊,还是不能全靠网络,毕竟有些东西要相信自己--想到了自己试试.思考才是王道. 以上都是废话.开始: Myeclipse连接mysql数据库之前先搞定这几项: 步骤: 1. Install JDK,Tomcat,myeclipse

  • Access数据库中“所有记录中均未找到搜索关键字”的解决方法

    先使用 Ms Access 压缩修复,然后再去相关的表把备注类型的字段里的"索引"去掉 备注型字段为什么不能超过1950字节?是由于备注型字段是有"索引".用Access对数据库的表进行设计时,点试设计视图->索引, 可以看到这个字段有索引.就是这个原因,删掉这个索引就什么事都没有了. 奇怪的是:在ACCESS设计表时,在备注型的字段里,根本就没有选项对备注型字段加上索引功能. 本文来源于 KinJAVA日志 (http://jorkin.reallydo.c

  • 利用SQL Server数据库邮件服务实现监控和预警

    背景 现在越来越多的企业.公司要求对于数据库实现7*24小时的数据库监控,一般情况下采用的就是第三方的平台来实现邮件和手机短信的监测提醒.前几日公司新上了一台服务器,急于部署程序还没来得及搭建其他相关平台,为了更好的监控数据库,暂时用SQL Server自带的邮件服务来实现对数据库的监控和预警.下面简要介绍下配置的过程便于以后使用. 配置邮件 整个部分的核心就是配置邮件服务,这部分需要一个邮件账户以及相应的邮件服务器.下面就以QQ的邮件为例进行说明. 1.设置邮件服务器 开启SMTP服务,点击开

  • MyEclipse连接MySQL数据库图文教程

    自己在自学JavaEE课程时,在做一些小东西的时候,需要连接MySQL数据库,自己看了看书,然后自己摸索,一步步成功,学习也是一个分享的过程,图文结合,希望帮助到更多的人. 一.配置Database Explorer1. 打开MyEclipse Database. 方法:Window-->Openperspective-->MyEclipse Database Explorer 2.点击右上角的MyEclipse...在DB Browser空白处单击右键-->new 打开DataBase

  • 数据库删除完全重复和部分关键字段重复的记录

    1.第一种重复很容易解决,不同数据库环境下方法相似: 以下为引用的内容: Mysql create table tmp select distinct * from tableName; drop table tableName; create table tableName select * from tmp; drop table tmp; SQL Server select distinct * into #Tmp from tableName; drop table tableName;

  • 数据库 关键字一览表

    数据库 关键字: 为了避免在数据库表结构设计过程中使用系统保留关键字我们必须知道数据库存在哪些关键字,接下来会列出mysql.oracle.sqlserver三个数据库各自的保留关键字. Mysql http://dev.mysql.com/doc/refman/5.7/en/keywords.html ACCESSIBLE (R) ACCOUNT[a] ACTION ADD (R) AFTER AGAINST AGGREGATE ALGORITHM ALL (R) ALTER (R) ALWA

  • python爬取NUS-WIDE数据库图片

    实验室需要NUS-WIDE数据库中的原图,数据集的地址为http://lms.comp.nus.edu.sg/research/NUS-WIDE.htm   由于这个数据只给了每个图片的URL,所以需要一个小爬虫程序来爬取这些图片.在图片的下载过程中建议使用VPN.由于一些URL已经失效,所以会下载一些无效的图片. # PYTHON 2.7 Ubuntu 14.04 nuswide = "$NUS-WIDE-urls_ROOT" #the location of your nus-wi

  • Linux 自动备份oracle数据库详解

    Linux 自动备份oracle数据: 曾经有个同事,来回操作开发和生产的数据库,结果误删了生产的数据库,那种心情我想不是一般人能理解的,虽然说oracle可以有方法还原,但并不是彻底的. 所以,在工作中,不管是开发还是维护,备份数据库是非常有必要. 简单实用的晚间自动备份数据库小案例 步骤一.创建备份脚本,暂且命名为orabak.sh #路径名,指定备份的路径 FILEPATH = /oracle/orabak #根据指定日期格式,定义备份数据库文件名 FILENAME = `date + %

随机推荐