記一次幫網友解決非法 KILL MySQL服務引起的故障

來源:互聯網
上載者:User

標籤:mysql

深圳—遊子 9:55:26


老鄉 請教你個事

深圳—遊子 9:55:29


mysql.sock 丟失,mysql啟不來,請問大家是怎麼解決的?

Bell 10:04:41


這個檔案不是動態產生的麼

Bell 10:04:53


刪除了,啟動服務時會自動產生的

深圳—遊子 10:12:02


現在啟動不了

深圳—遊子 10:12:15


試了各種方法啟不來


一網友找我,說是使用MySQL提示如下錯誤:

ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’ (2)

首先想的是看下服務正常不:

netstat -tunlp|grep 3306

說是沒有服務進程

說你啟動服務看看

/etc/init.d/mysql start

提示如下:

Starting MySQL... ERROR! The server quit without updating PID file (/var/lib/mysql/localhost.localdomain.pid)

  按照以往的正常思路是,首先看看/var/lib/mysql目錄的屬主屬組,許可權,查看一切正常。又看了下磁碟空間,innode也完全正常。

Bell 10:17:54


在這故障之前你做了什麼都

深圳—遊子 10:18:16


做了使用權限設定

Bell 10:18:27


具體的發過來我看下


Bell 10:18:35

做完後重啟了嗎

深圳—遊子 10:20:55
delete from mysql.user where password=‘‘;   
update user set Host=‘IP‘ where user=‘root‘ and Host=‘%‘;  select User,Host,Password from mysql.user;  service mysql restart
Bell 10:21:53
做了使用權限設定後,不用重啟服務吧

這時就想到肯定是KILL MySQL服務了,於是要來了日誌,如下:


2016-12-01 15:13:01 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp
 server option (see documentation for more details).
2016-12-01 15:13:01 0 [Note] /usr/sbin/mysqld (mysqld 5.6.28) starting as process 19651 ...
2016-12-01 15:13:01 19651 [Note] InnoDB: Using atomics to ref count buffer pool pages
2016-12-01 15:13:01 19651 [Note] InnoDB: The InnoDB memory heap is disabled
2016-12-01 15:13:01 19651 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins
2016-12-01 15:13:01 19651 [Note] InnoDB: Memory barrier is not used
2016-12-01 15:13:01 19651 [Note] InnoDB: Compressed tables use zlib 1.2.3
2016-12-01 15:13:01 19651 [Note] InnoDB: Using Linux native AIO
2016-12-01 15:13:01 19651 [Note] InnoDB: Not using CPU crc32 instructions
2016-12-01 15:13:01 19651 [Note] InnoDB: Initializing buffer pool, size = 128.0M
2016-12-01 15:13:01 19651 [Note] InnoDB: Completed initialization of buffer pool
2016-12-01 15:13:01 19651 [Note] InnoDB: Highest supported file format is Barracuda.
2016-12-01 15:13:01 19651 [Note] InnoDB: 128 rollback segment(s) are active.
2016-12-01 15:13:01 19651 [Note] InnoDB: Waiting for purge to start
2016-12-01 15:13:02 19651 [Note] InnoDB: 5.6.28 started; log sequence number 180311887
2016-12-01 15:13:02 19651 [ERROR] /usr/sbin/mysqld: unknown variable ‘sql_modcheduler=ONi_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

2016-12-01 15:13:02 19651 [ERROR] Aborting

  看完日誌,再次溝通得知,果然是KILL MySQL服務了,而且不至一次。並且所有的資料庫伺服器都這樣操作過,冒冷汗啊!!!我說還做什麼了,他說還改了設定檔,加了一條EVENT ,沒管它,索性做了如下操作:

mv my.cnf  my.cnf.ori
/etc/init.d/mysql start

哈哈,久違的啟動成功提示出來了終於。之後讓他登入上去看下資料對不對,看了下沒有問題。

總結:

  最後經過和他的溝通,同樣的環境,同樣的資料庫版本,同樣的配置,只有這一台啟動不起來。經過分析判斷得出,此次故障的原因為:kill MySQL服務進程,非法關閉服務導致本次故障。根據老司機經驗,隨便kill資料庫服務進程,特別是kill -9,是會導致各種各樣的資料庫故障的!大家引以為戒吧!!!



本文出自 “雲端運算與大資料” 部落格,請務必保留此出處http://linuxzkq.blog.51cto.com/9379412/1878839

記一次幫網友解決非法 KILL 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.