故障现象:

mysql无法启动

1: dmesg |grep mysql

[101353.820000] init: mysql post-start process (9077) terminated with status 1

[101354.650000] init: mysql main process (9113) terminated with status 1

[101354.650000] init: mysql respawning too fast, stopped

2: grep mysql /var/log/syslog

213 Apr  1 19:35:33 Asiulo kernel: [101110.450000] init: mysql post-start process (8815) terminated with status 1

214 Apr  1 19:35:33 Asiulo kernel: [101110.590000] init: mysql main process (8846) terminated with status 1

215 Apr  1 19:35:33 Asiulo kernel: [101110.590000] init: mysql respawning too fast, stopped

3: tail -100 /var/log/mysql/error.log

1 130401 10:27:28 [Note] Plugin 'FEDERATED' is disabled.

   2 130401 10:27:28 InnoDB: The InnoDB memory heap is disabled

   3 130401 10:27:28 InnoDB: Mutexes and rw_locks use GCC atomic builtins

   4 130401 10:27:28 InnoDB: Compressed tables use zlib 1.2.7

   5 130401 10:27:28 InnoDB: Using Linux native AIO

   6 130401 10:27:28 InnoDB: Initializing buffer pool, size = 128.0M

   7 130401 10:27:28 InnoDB: Completed initialization of buffer pool

   8 130401 10:27:28 InnoDB: highest supported file format is Barracuda.

   9 InnoDB: The log sequence number in ibdata files does not match

  10 InnoDB: the log sequence number in the ib_logfiles!

  11 130401 10:27:28  InnoDB: Database was not shut down normally!

  12 InnoDB: Starting crash recovery.

  13 InnoDB: Reading tablespace information from the .ibd files...

  14 InnoDB: Restoring possible half-written data pages from the doublewrite

  15 InnoDB: buffer...

  16 130401 10:27:28  InnoDB: Assertion failure in thread 3062129168 in file fsp0fsp.c line 2102

  17 InnoDB: Failing assertion: inode

  18 InnoDB: We intentionally generate a memory trap.

  19 InnoDB: Submit a detailed bug report to http://bugs.mysql.com.

  20 InnoDB: If you get repeated assertion failures or crashes, even

  21 InnoDB: immediately after the mysqld startup, there may be

  22 InnoDB: corruption in the InnoDB tablespace. Please refer to

  23 InnoDB: http://dev.mysql.com/doc/refman/5.5/en/forcing-innodb-recovery.html

  24 InnoDB: about forcing recovery.

  25 02:27:28 UTC - mysqld got signal 6 ;

  26 This could be because you hit a bug. It is also possible that this binary

  27 or one of the libraries it was linked against is corrupt, improperly built,

  28 or misconfigured. This error can also be caused by malfunctioning hardware.

  29 We will try our best to scrape up some info that will hopefully help

  30 diagnose the problem, but since we have already crashed,

  31 something is definitely wrong and this may fail.

  32

  33 key_buffer_size=16777216

  34 read_buffer_size=131072

  35 max_used_connections=0

  36 max_threads=151

  37 thread_count=0

  38 connection_count=0

  39 It is possible that mysqld could use up to

  40 key_buffer_size + (read_buffer_size + sort_buffer_size)*max_threads = 346079 K  bytes of memory

  41 Hope that's ok; if not, decrease some variables in the equation.

  42

  43 Thread pointer: 0x0

  44 Attempting backtrace. You can use the following information to find out

  45 where mysqld died. If you see no messages after this, something went

  46 terribly wrong...

  47 stack_bottom = 0 thread_stack 0x30000

  48 The manual page at http://dev.mysql.com/doc/mysql/en/crashing.html contains

  49 information that should help you find out what is causing the crash.

核实是INNODB出现故障导致。根据红色链接中的方法:

you can add the following line to the [mysqld] section of your option file before restarting the server:

[mysqld]

innodb_force_recovery = 4

将这个设置加入到/etc/mysql/my.cnf, 后start mysql服务恢复正常。

注释:

4 (SRV_FORCE_NO_IBUF_MERGE)

Prevent insert buffer merge operations. If they would cause a crash, do not do them. Do not calculate table statistics.

前期处理重新安装mysql的过程也记录下:

重新安装mysql

删除mysql:

apt-get autoremove --purge mysql-server

apt-get remove mysql-common

清理残留数据:

dpkg -l |grep ^rc|awk '{print $2}' |sudo xargs dpkg -P

最后再执行下 apt-get autoremove

安装 mysql:

apt-get install mysql-server-5.5

apt-get install mysql-client-5.5  //正常情况,此步已经包含在上步中,无需再安装。

apt-get install php5-mysql

安装完毕执行

#dpkg-reconfigure重新配置

dpkg-reconfigure mysql-server-5.5

#quick mysql package check

dpkg -l *mysql*

禁止mysql做域名解析

[mysqld]

skip-name-resolve

完毕!

ubuntu下处理mysql无法启动故障一例的更多相关文章

  1. Ubuntu下安装MySQL 5.6.23

    Ubuntu下安装MySQL 5.6.23 1.下载相应Linux-generic的源代码包.解压,将解压后的文件夹重命名为mysql.移动到/usr/local文件夹下: tar –xzf mysq ...

  2. ubuntu下安装mysql和配置远程访问

    ubuntu下安装mysql和配置远程访问   下载安装mysql sudo apt-get install mysql-client mysql-server 安装的时候会提示要设置root密码,如 ...

  3. Ubuntu 下安装 Mysql

    这里讲用Ubuntu下安装MySql ubuntu上安装mysql非常简单只需要几条命令就可以完成. 1. sudo apt-get install mysql-server   2. apt-get ...

  4. ubuntu下修改mysql默认字符编码出现的Job failed to start解决办法

    ubuntu下修改mysql默认字符编码出现的Job failed to start解决办法 前几天卸掉了用了好多年的Windows,安装了Ubuntu12.04,就开始各种搭环境.今天装好了MySQ ...

  5. Ubuntu下安装mysql与mysql workbench

    Ubuntu 安装jdk:[链接] Ubuntu安装eclipse:[链接] Ubuntu下安装MySQL与mysql workbench:[链接] Ubuntu配置tomcat9:[链接] 1.su ...

  6. Ubuntu下执行mysql的sql文件

    Ubuntu下执行mysql的.sql文件   方法一: 1.执行此命令,会提示输入mysql的root账户的密码,验证成功后,会在dbname这个数据库中执行filename.sql这个脚本,其中f ...

  7. Ubuntu下删除mysql数据库

    Ubuntu下删除mysql数据库 sudo apt-get autoremove --purge mysql-server-5.7 sudo apt-get remove mysql-server ...

  8. 解决ubuntu下安装mysql使用service无法启动问题

    启动的时候发现service mysql start Rather than invoking init scripts through /etc/init.d, use the service(8) ...

  9. ubuntu 下安装 mysql 启动报错:ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)

    环境: ubuntu LTS 18.04.1 mysql Ver 14.14 Distrib 5.7.29, for Linux (x86_64) 初探 linux,按照如下安装完mysql sudo ...

随机推荐

  1. 循环执行sql语句

    DECLARE --声明变量 SQL_ALLTABLES LONG; SQL_INSERT LONG; TYPE THE_CURSOR_TYPE IS REF CURSOR; --定义引用游标的数据类 ...

  2. tcp/ip详解 卷1 -- 协议概述

    第一章 概述 分层 TCP/IP 通常被认为是一个四层协议系统. 每一层负责不同的功能. 链路层, 也成为数据链路层或者网络接口层. 通常包括 操作系统中的设备驱动程序和计算机中对应的网络接口卡. 主 ...

  3. 轻松Angularjs实现表格按指定列排序

    angular表格点击序号进行升序,再次点击进行降序排序,在输入框输入信息,出现相对应数据的那一行. html: <input type="text" ng-model=&q ...

  4. Spring+SpringMVC+MyBatis深入学习及搭建(十四)——SpringMVC和MyBatis整合

    转载请注明出处:http://www.cnblogs.com/Joanna-Yan/p/7010363.html 前面讲到:Spring+SpringMVC+MyBatis深入学习及搭建(十三)--S ...

  5. wildfly与mysql数据库连接问题

    wildfly报错: Caused by: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link f ...

  6. mybatis if test加筛选条件

    最近在项目使用mybatis中碰到个问题 <if test="type=='y'"> and status = 0 </if> 当传入的type的值为y的时 ...

  7. github用法小结

      共享仓库     bare 裸仓库   生成裸仓库时必须以.git结尾.   仓库就相当于一个服务器     ### 创建远程仓库  1. 创建以.git结尾的目录mkdir repo.git 2 ...

  8. 谈谈Nancy中让人又爱又恨的Diagnostics【上篇】

    前言 在Nancy中有个十分不错的功能-Diagnostics,可以说这个功能让人又爱又恨. 或许我们都做过下面这样的一些尝试: 记录某一个功能用到的相关技术信息 记录下网站的访问记录 全局配置某些框 ...

  9. DDD领域驱动之干活(四)补充篇!

    距离上一篇DDD系列完结已经过了很长一段时间,项目也搁置了一段时间,想想还是继续完善下去. DDD领域驱动之干货(三)完结篇! 上一篇说到了如何实现uow配合Repository在autofac和au ...

  10. java中常用的并发工具类

    · 1. 等待多线程完成的CountDownLatch 构造函数接收一个int类型的参数作为计数器,如果想等待N个点,就传入N.当调用CountDownLatch的countDown方法时,N就会减一 ...