今天mariadb總是啟動不了,對於我來說是不能忍受的。然后前往日志文件查看報錯信息,提示如下:
出錯信息一共就這三行,沒有報其他的錯誤。那只能從紅色方框的地方開始入手了。
首先是百度去搜索原因是什么?發現說是配置文件中的socket段有問題,大致問題如下:
1、你的socket中的mysql.sock路徑所在的那個上一級目錄一定要有mysql用戶可寫的權限,我這里可能說的不清楚,大家記住一點,mysql.sock一般放在/tmp路徑下,/tmp這個路徑的權限按照系統設定的來
2、系統設定的/tmp這個目錄,權限是:
如果你修改了tmp的權限(比如用戶和用戶組等),請修改回來。
也有的人把mysql.sock設置到其他的目錄下,只要這個文件的上一級目錄中mysql用戶對其有讀寫權限即可。
但即便如此,可能上面的錯誤還不能解決,這個時候,網上也有教程說是你的系統中包含有mysql進程,因此再使用ps命令查看一下上次啟動的mysql是否關閉了。如果mysql是未正常關閉的,那麻煩就大了,你要手動刪除mysql.sock文件。
不過對我來說上面的方法都沒有解決:
后來我在mysql官網的解決教程中找到了原因:mysql問題官網如:https://dev.mysql.com
官方提供的解決方法如下:
1、首先是要ps命令確定mysqld進程是否還還有殘余存在。如果存在,嘗試kill掉
2、telnet 127.0.0.1 3306端口看看是否可以通.
3、查看開機自啟動的服務中是否含有mysql。這里使用命令:systemctl list-unit-files | grep mysql可以看到老的mysql服務是否是開機自啟動的設置,如果有,把他去掉。(因為出現這個問題大多是之前安裝過mysql,現在再次安裝就出現一開始的那個錯誤問題)
4、防火牆問題,建議全部關閉。
截圖如下: