深圳—遊子 9:55:26node 老鄉 請教你個事mysql |
深圳—遊子 9:55:29sql mysql.sock 丟失,mysql啓不來,請問你們是怎麼解決的?數據庫 |
Bell 10:04:41服務器 這個文件不是動態生成的麼dom |
Bell 10:04:53socket 刪除了,啓動服務時會自動產生的ide |
深圳—遊子 10:12:02ui 如今啓動不了atom |
深圳—遊子 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 這時就想到確定是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,是會致使各類各樣的數據庫故障的!你們引覺得戒吧!!!