mysql启动失败一例
操作系统版本:Ubuntu 13.04
mysql 版本:mysql-server-5.5
现象:突然之前接到报告说数据库启不来了。第一时间查看硬盘空间,看是否硬盘满了。发现空间使用正常。
root@ns-xxzx-svr:~# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 19G 16G .3G % /
none .0K .0K % /sys/fs/cgroup
udev 494M .0K 494M % /dev
tmpfs 101M 820K 100M % /run
none 5.0M 5.0M % /run/lock
none 502M 72K 502M % /run/shm
none 100M 276K 100M % /run/user
/dev/sdb1 197G 59G 129G % /hos_media
/dev/sdc1 197G 42G 146G % /root/sdc1
然后查看mysql的出错日志。
root@ns-xxzx-svr:/var/log/mysql# cat error.log
:: [Warning] Using unique option prefix myisam-recover instead of myisam-recover-options is deprecated and will be removed in a future release. Please use the full name instead.
:: [Note] Plugin 'FEDERATED' is disabled.
:: InnoDB: The InnoDB memory heap is disabled
:: InnoDB: Mutexes and rw_locks use GCC atomic builtins
:: InnoDB: Compressed tables use zlib 1.2.
:: InnoDB: Using Linux native AIO
:: InnoDB: Initializing buffer pool, size = 128.0M
InnoDB: mmap( bytes) failed; errno
:: InnoDB: Completed initialization of buffer pool
:: InnoDB: Fatal error: cannot allocate memory for the buffer pool
:: [ERROR] Plugin 'InnoDB' init function returned error.
:: [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
:: [ERROR] Unknown/unsupported storage engine: InnoDB
:: [ERROR] Aborting :: [Note] /usr/sbin/mysqld: Shutdown complete
从报错上查看有点像 InnoDB的数据引擎的问题,顺着这个方向会越走越远。通过关键字搜索也都是搜的无关的内容。一时没有头绪。
将报错信息一条条的在google里搜索。当以”InnoDB: mmap(135987200 bytes) failed“为关键字搜索时出现一条有用信息。

会不会也是因为内存过低?这台服务器内存只有1G,有可能造成mysql服务启动不了或宕机。
root@ns-xxzx-svr:/var/log/mysql# free -m
total used free shared buffers cached
Mem:
-/+ buffers/cache:
Swap:
有人建议多加点swap空间。

我查了下服务器中swap空间使用情况:
root@ns-xxzx-svr:/var/log/mysql# sudo swapon -s
Filename Type Size Used Priority
/dev/sda5 partition -
果真,swap分区已用完。这可能就是导致mysql崩溃的原因。内存不够,虚拟内存也不够。不崩才怪。
果断加swap空间。
root@ns-xxzx-svr:/var/log/mysql# parted /dev/sdd
(parted) print
Model: HUAWEI XSG1 (scsi)
Disk /dev/sdd: 1100GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt Number Start End Size File system Name Flags (parted) mkpart primary 4G
(parted) print
Model: HUAWEI XSG1 (scsi)
Disk /dev/sdd: 1100GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt Number Start End Size File system Name Flags
1024MB 4000MB 2976MB primary (parted) mkpart primary 4G 500G
(parted) mkpart primary 500G -
(parted) print
Model: HUAWEI XSG1 (scsi)
Disk /dev/sdd: 1100GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt Number Start End Size File system Name Flags
1024MB 4000MB 2976MB primary
4000MB 500GB 496GB primary
500GB 1100GB 600GB primary (parted) quit
root@ns-xxzx-svr:/var/log/mysql# mkswap /dev/sdd1
Setting up swapspace version , size = KiB
no label, UUID=-bcda-471f-8a17-7d4f150752d6
root@ns-xxzx-svr:/var/log/mysql# sudo swapon /dev/sdd1
root@ns-xxzx-svr:/var/log/mysql# sudo swapon -s
Filename Type Size Used Priority
/dev/sda5 partition -
/dev/sdd1 partition -
加好了之后,查看swap分区使用情况,还有剩余。下面开始尝试启动mysql服务,看能否启动。
root@ns-xxzx-svr:/var/log/mysql# /etc/init.d/mysql start
Rather than invoking init scripts through /etc/init.d, use the service()
utility, e.g. service mysql start Since the script you are attempting to invoke has been converted to an
Upstart job, you may also use the start() utility, e.g. start mysql
mysql start/running, process
终于活过来了。
参考:
【1】MySQL InnoDB: mmap(137363456 bytes) failed; errno 12
【3】How To Add Swap on Ubuntu 12.04
mysql启动失败一例的更多相关文章
- MySQL安装过程net start mysql 启动失败 报“错误2,系统找不到文件”的解决办法
MySQL安装过程net start mysql 启动失败 报“错误2,系统找不到文件”的解决办法 错误2,系统找不到文件. 开始...运行... regedit 注册表项: HKEY_LOCAL_ ...
- mysql 启动失败,数据恢复
mysql 启动失败,数据恢复 2017年02月13日 16:46:36 阅读数:621 Forcing InnoDB Recovery提供了6个等级的修复模式,需要注意的是值大于3的时候,会对数据文 ...
- Mysql启动失败解决方案 - 个人经验可能不适合所有场景
以前一直用的Mysql5.5,安装程序是一个exe程序,安装完了相应的服务也给我注册好了,然后直接启动连接即可. 最近升级到了8.0.15,发现和以前不一样了. 8.0.15下载地址 安装解压之后目录 ...
- XAMPP中Apache和Mysql启动失败问题总结
一.Apache启动失败 xampp启动时显示的错误为: 9:52:41 [Apache] Attempting to start Apache app... 9:52:41 [Apache] ...
- Linux下mysql启动失败
原因:强制重启服务器之后,发现mysql启动 失败 解决方法:强制清空 报错路径下的tmp文件,清空之后在tmp下面新建一个文件夹,文件夹的名字在你清空tmp之后启动mysql系统会给你提示 欧克,完 ...
- win10 MySQL启动失败问题
系统升级到win10之后,本地装的MySQL却突然不能启动,系统显示明明就有,可是总是启动失败.在这里解决一下: 解决win10 mysql服务消失,连接不上的问题,注意:以管理员身份运行DOS命令 ...
- mysql 启动失败
1 mysql 启动时报:MySQL Daemon failed to start.并且启动失败 2 查看mysql log日志 less /var/log/mysqld.log 3 从两行erro ...
- Mysql启动失败 MYSQL:The server quit without updating PID file
MySQL5.6启动时出错 提示MYSQL:The server quit without updating PID file 首先执行 /bin/mysqld_safe --user=mysql & ...
- mysql启动失败问题记录
net start mysql 启动mysql服务,启动失败: 手动启动服务,又失败 命令查看日志:mysqld --console 在网上找了解决办法如下: 找到mysql目录,进去bin目录,找到 ...
随机推荐
- python常用库 - NumPy 和 sklearn入门
Numpy 和 scikit-learn 都是python常用的第三方库.numpy库可以用来存储和处理大型矩阵,并且在一定程度上弥补了python在运算效率上的不足,正是因为numpy的存在使得py ...
- oracle查锁及解锁命令
--查询行锁语句 select sql_text from v$sql a,v$session b where a.sql_id=b.sql_id and b.event='enq: TX - row ...
- Linux_CentOS-服务器搭建 <六>
修改MySQL编码: 二话不说先登录: mysql -u root -p 查看下神奇的mysql系统变量及其值: show variables like '%character%'; //记住分号哦, ...
- ACM学习大纲
1 推荐题库 •http://ace.delos.com/usaco/ 美国的OI 题库,如果是刚入门的新手,可以尝试先把它刷通,能够学到几乎全部的基础算法极其优化,全部的题解及标程还有题目翻译可以b ...
- JAVA基础 <一>
java基础的学习要领,多写多写. 学习方法很简单,了解 到 理解 到 熟悉 到 精通 先讲变量吧: public static void main(String[] args) { int ...
- 未能写入输出文件“c:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files\root\106f9ae8\cc0e1169\App_global.asax.haz99mum.dll”--“拒绝访问。 ”
在本地开发环境没问题,但是发布到服务器出现:未能写入输出文件“c:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Fil ...
- 精读JavaScript模式(四),数组,对象与函数的几种创建方式
一.前言 放了个元旦,休息了三天,加上春运抢票一系列事情的冲击,我感觉我的心已经飞了.确实应该收收心,之前计划的学习任务也严重脱节了:我恨不得打死我自己. 在上篇博客中,笔记记录到了关于构造函数方面的 ...
- 使用BizTalk实现RosettaNet B2B So Easy
使用BizTalk实现RosettaNet B2B So Easy 最近完成了一个vmi-hub的B2B项目,使用Rosettanet 2.0的标准与一家品牌商,OEM,供应商实现B2B.一共交换4个 ...
- 设计node.js搭建多人博客的思路(不讲数据库)
1.1.4:搭建多人博客 1.功能分析 搭建一个简单的多人注册,登录,发表文章及登出功能的博客 2.设计目标 未登录:主页左侧导航显示home.login.register,右侧显示已发表文章,发表日 ...
- 【Java并发编程】19、DelayQueue源码分析
DelayQueue,带有延迟元素的线程安全队列,当非阻塞从队列中获取元素时,返回最早达到延迟时间的元素,或空(没有元素达到延迟时间).DelayQueue的泛型参数需要实现Delayed接口,Del ...