ubuntu下處理mysql無法啟動故障一例

來源:互聯網
上載者:User

標籤:處理   nod   atomic   art   rem   mina   linux   nat   where   

故障現象:

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無法啟動故障一例

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.