記一次服務停止後 mysql服務啟動失敗

2021-10-02 23:20:46 字數 2130 閱讀 6810

伺服器:unbuntu16.04,阿里雲

起因:執行了快三年的系統突然登陸不進去了,初步檢視是由於服務端掛了。

入坑:由於沒有伺服器密碼,只能在阿里雲網頁端重置伺服器密碼

第一階段:此時以為再重啟一下服務端可以(之前有過,不過是在開始初期),然而,在檢視tomcat啟動日誌時爆出了不能連線資料庫的問題,於是乎,在伺服器上登陸mysql ,結果報錯:

然後試了下面的辦法連線

mysql -h 127.0.0.1 -u root -p
還是沒有用,還爆了2003錯誤,最後的最後通過檢視msyql啟動日誌才發現問題!

走了很多彎路,但也學到了點,以下是總結:

1.要多看相關服務的日誌,最有效,然後再對症下藥

2.要堅信之前執行了這麼久都沒問題肯定沒問題,多看系統層面的東西

3.不能忘記備份,任何有用的

4.解決的時候多思考,從問題本質出發,看報錯,看日誌/var/log/mysql/error.log

5.不能怕走彎路,還是能學到東西的。但也要高效查問題,抓住問題關鍵查資料。

實際問題:是因為重啟伺服器再啟動mysql會重新生成mysql.socket檔案,而此時磁碟太滿了已經寫不下了(也是伺服器重啟賊慢的原因)。

造成磁碟寫滿是由於tomcat 的日誌太多了。資料處理日誌太多,所以後面就關閉了資料接收端的catalina日誌,關閉日誌參考

故障描述:

啟動mysql 報錯:

error 2002 (hy000): can』t connect to local mysql server through socket 『/var/lib/mysql/mysql.sock』 (2)

1.先檢視mysql啟動狀態

#/etc/rc.d/init.d/mysqld status

2.mysql.sock位置查詢與驗證?

# find / -name mysql.sock

/data/mydata/mysql.sock

驗證目錄是否正確

#mysql -u root -p -s /data/mydata/mysql.sock

備註:-s引數socket file檔案驗證

3.驗證mysql.sock檔案許可權和使用者是否正確?

如果是許可權問題,則先改變許可權 

#chown -r mysql:mysql /data/mydata/mysql.sock

[root@localhost ~]# /etc/init.d/mysqld start

啟動 mysql: [ ok]

4.永久解決:(注:要注意資料夾許可權問題,可用chmod 777 file)

修改/etc/my.cnf(不同版本的mysql配置檔案可能一樣)

新增以下內容到/etc/my.conf:

[client]

socket = /data/mydata/mysql.sock

[mysqld]

socket = /data/mydata/mysql.sock

linux命令小記:

find / -name aa*    查詢根目錄下檔名為aa開頭的檔案

df  檢視整體磁碟使用情況

df -lh清楚磁碟使用情況

df  -a 是全部的檔案系統的使用情況

df  -i顯示inode資訊

df -k 已位元組數顯示區塊占用情況

ls -lh 檢視當前資料夾的占用情況

netstat -tunlp |grep 8000  檢視埠占用

-t (tcp) 僅顯示tcp相關選項

-u (udp)僅顯示udp相關選項

-n 拒絕顯示別名,能顯示數字的全部轉化為數字

-l 僅列出在listen(監聽)的服務狀態

-p 顯示建立相關鏈結的程式名

記一次mysql服務不能啟動

之前開啟後台專案的機器,發現登陸後台系統時,輸入使用者名稱 密碼後,提示使用者名稱或密碼錯誤。1.連線mysql資料庫,發現鏈結不上,但是ps ef grep mysql 發現有mysql服務 2.輸入mysql u root p 提示說找不到sock檔案 3.service mysqld rest...

記一次裝mysql服務引發的血案

從裝mysql服務之後,按原來的方式 原來的使用者名稱密碼 連線資料庫,可是不管怎樣都連線不上 這是什麼原因呢?我想了想,試試不填寫密碼看能不能成功,炸一試果然成功了,這下子可以好好複習複習dos命令抄作mysql了 但是高興的太早了,連線資料庫之後,顯示所有資料庫,炸一看怎麼只有三個資料庫了 分析...

記一次伺服器事故

mysql資料庫報錯 can t create write to file tmp sql 6ccc 0.myi 在開始刪除之後,所有服務就已經恢復正常執行了,接下來就是優化那個session了,哎又是埋坑.最後附上inode擴容的方法 但是需要注意,手動擴inode,一般是新建分割槽時設定的,該操...