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基础之带你快速掌握列表的常用方法
append 前面说过列表是一种 内容可改变的 对象. append方法就会改变列表的内容,在后面添加一个元素 比如 a = [1, 2, 3.14, 'hello'] # append 之后,a就变 ...
- 由浅入深:CNN中卷积层与转置卷积层的关系
欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由forrestlin发表于云+社区专栏 导语:转置卷积层(Transpose Convolution Layer)又称反卷积层或分数卷 ...
- Angular2入门:TypeScript的类型 - 数组解构
- 实现一个简单的vue-router
所有项目的源代码都放在我的github上,欢迎大家start: https://github.com/Jasonwang911/my-vue-router 首先来看下vue-router的使用: im ...
- [POI2004] SZN
Description 给定\(N(N\leq 10000)\)个点的树,要求用最少的路径覆盖树边.路径之间可以有交点,不能有交边.问最少需要几条路径以及在第一问的基础上最长的路径最短是多少? Sol ...
- c#实战开发:以太坊Geth 常用命令 (四)
首先运行客户端 当前命令分为 eth,web3 ,personal ,net 输入 >eth 可以看到该命令下的所有方法 > eth 1.创建用户 personal.newAccount ...
- [android] 数据的异步加载和图片保存
把从网络获取的图片数据保存在SD卡上, 先把权限都加上 网络权限 android.permission.INTERNET SD卡读写权限 android.permission.MOUNT_UNMOUN ...
- 【Spring】13、使用Spring 3的@value简化配置文件的读取
Spring 3支持@value注解的方式获取properties文件中的配置值,大简化了读取配置文件的代码. 1.在applicationContext.xml文件中配置properties文件 & ...
- C#特性之数据类型
这篇文章主要通过演示类在不同发展中的不通过定义方法,来向读者表述它们之间的区别和联系. 在C#1时代,我们喜欢这样定义类: public class Product { private string ...
- css3火焰文字样式代码
css样式: <style type="text/css"> body{background:#000;} *{margin:0;padding:0;transitio ...