一次mysql的重啟失敗

2021-09-25 13:53:55 字數 1353 閱讀 2254

近期阿里雲一直提示修復漏洞,然後重啟了mysql,導致 mysql 無法啟動,看到提示

can't connect to local mysql server through socket '/tmp/mysql.sock'
是否存在,去目錄看,果真不在了,那麼只能想法辦重新構建乙個 mysql.sock 檔案了。

重新啟動 mysql

sudo /etc/init.d/mysql start
提示錯誤

the server quit without updating pid file (/[failed]mysqld/mysqld.pid)
。檢視日誌檔案

cat /var/log/mysqld.log | tail -n 200
發現報錯資訊為

/usr/local/tools/mysql/bin/mysqld: can't create/write to file '/var/run/mysqld/mysqld.pid' (errcode: 2 - no such file or directory)
發現根本沒有 mysqld 這個資料夾,於是新建資料夾,並賦予許可權

cd /var/run/

mkdir mysqld

chown -r mysql /var/run/mysqld

chgrp -r mysql /var/run/mysqld

然後啟動 mysql

sudo /etc/init.d/mysql start
成功

那麼 mysql.sock 是做什麼的呢?

mysql.sock 是 mysql 的主機和客戶機在同一host上的時候,使用 unix domain socket 做為通訊協議的載體,它比 tcp 快。

mysql 有兩種連線方式:

(1)tcp/ip

(2)socket

對 mysql.sock 來說,其作用是程式與 mysqlserver 處於同一臺機器,發起本地連線時可用。

例如你無須定義連線host的具體 ip 得,只要為空或 localhost 就可以。

在此種情況下,即使你改變 mysql 的外部 port 也是一樣可能正常連線。

因為你在 my.ini 中或 my.cnf 中改變埠後,mysql.sock 是隨每一次 mysql server 啟動生成的。已經根據你在更改完 my.cnf 後重啟 mysq l時重新生成了一次,資訊已跟著變更。

那麼對於外部連線,必須是要變更 port 才能連線的。

mysql 重啟失敗 記一次mysql 重啟失敗

今天重啟mysql發現報錯如下 sudo service mysqld restart redirecting to bin systemctl restart mysqld.service job for mysqld.service failed because the control proc...

mysql 重啟失敗 重啟MySQL服務失敗

在mysql安裝完成之後,使用命令 net start mysql 出現錯誤 開啟mysql data 目錄下的出錯檔案 2020 08 15t03 27 08.908407z 0 system my 010116 server d program files x86 mysql 8.0.16 wi...

一次失敗的聚會

十一長假,無處可去,也哪兒也不想去。正家中閒坐,同學邀請明日去森林公園一遊,欣然點頭。轉過身來,妻子轉告 朋友們明天森林公園聚會。女怕撞衫,男怕撞席。不自覺中,我變成了鏈結兩個party的關鍵人物。10點,三個it家庭會面。開始吃吃喝喝,順便談談子女教育。11點,兩個媽媽帶著孩子過來,話題開始散亂。...