ubuntu下处理mysql无法启动故障一例
故障现象:
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无法启动故障一例的更多相关文章
- Ubuntu下安装MySQL 5.6.23
Ubuntu下安装MySQL 5.6.23 1.下载相应Linux-generic的源代码包.解压,将解压后的文件夹重命名为mysql.移动到/usr/local文件夹下: tar –xzf mysq ...
- ubuntu下安装mysql和配置远程访问
ubuntu下安装mysql和配置远程访问 下载安装mysql sudo apt-get install mysql-client mysql-server 安装的时候会提示要设置root密码,如 ...
- Ubuntu 下安装 Mysql
这里讲用Ubuntu下安装MySql ubuntu上安装mysql非常简单只需要几条命令就可以完成. 1. sudo apt-get install mysql-server 2. apt-get ...
- ubuntu下修改mysql默认字符编码出现的Job failed to start解决办法
ubuntu下修改mysql默认字符编码出现的Job failed to start解决办法 前几天卸掉了用了好多年的Windows,安装了Ubuntu12.04,就开始各种搭环境.今天装好了MySQ ...
- Ubuntu下安装mysql与mysql workbench
Ubuntu 安装jdk:[链接] Ubuntu安装eclipse:[链接] Ubuntu下安装MySQL与mysql workbench:[链接] Ubuntu配置tomcat9:[链接] 1.su ...
- Ubuntu下执行mysql的sql文件
Ubuntu下执行mysql的.sql文件 方法一: 1.执行此命令,会提示输入mysql的root账户的密码,验证成功后,会在dbname这个数据库中执行filename.sql这个脚本,其中f ...
- Ubuntu下删除mysql数据库
Ubuntu下删除mysql数据库 sudo apt-get autoremove --purge mysql-server-5.7 sudo apt-get remove mysql-server ...
- 解决ubuntu下安装mysql使用service无法启动问题
启动的时候发现service mysql start Rather than invoking init scripts through /etc/init.d, use the service(8) ...
- 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 ...
随机推荐
- 面向对象的SOLID原则白话篇
面向对象的SOLID原则 简介 缩写 全称 中文 S The Single Responsibility Principle 单一责任原则 O The Open Closed Principle 开放 ...
- 使用DBeaver连接hive
介绍 在hive命令行beeline中写一些很长的查询语句不是很方便,查询结果也不是很友好,于是找了一个hive的客户端界面工具DBeaver,它也支持很多符合JDBC连接的数据库,例如MySQL.O ...
- eclipse 下,使用正常模式可以运行,DEBUG模式就卡住的解决方案
最近开发的时候遇到一个问题,就是用运行就可以编译整个项目,但是使用debug模式就卡住了,编译一部分就不动了.开始我以为是项目太大的关系 但是也不至于就DEBUG不行,所以网上差了些资料,原来是DEB ...
- 浅尝JavaScript document对象
document对象 每个载入浏览器的 HTML 文档都会成为 Document 对象.document 对象是HTML文档的根节点与所有其他节点(元素节点,文本节点,属性节点, 注释节点).Docu ...
- 不带插件 ,自己写js,实现批量上传文件及进度显示
今天接受项目中要完成文件批量上传文件而且还要显示上传进度,一开始觉得这个应该不是很麻烦,当我在做的时候遇到了很多问题,很头疼啊. 不过看了别人写的代码,自己也测试过,发现网上好多都存在一些问题,并不是 ...
- 使用Iterator的方式也可以顺利删除和遍历
使用Iterator的方式也可以顺利删除和遍历 eg: public void iteratorRemove() { List<Student> students = this.getSt ...
- php中的命名空间
a.php <?php namespace a\b; class Apple{ function get_info(){ echo 'aaa'.'<br/>'; } } ?> ...
- PHP数组按引用传递
<?php /**PHP数组按引用传递**/ $arr = array( array('id' => 1, 'name' => 'name1'), array('id' => ...
- 【LeetCode】66. Plus One
题目: Given a non-negative number represented as an array of digits, plus one to the number. The digit ...
- 如何解释json的字符串
public void getToken(){ String json = getJedis().get("f2b9152f36424e8b8a454df9b50eb743"); ...