今天一同事說他的mysql資料庫連線不來了,很是鬱悶,報錯如下
# /etc/init.d/mysql startStarting MySQL.... ERROR! The server quit without updating PID file (/data/mysql/mysql3306/data/mysql.pid).
我第一時間想到要看錯誤日誌,錯誤日誌如下:
# vim error.log 2017-05-04T13:35:17.965606Z 0 [ERROR] Can't start server: Bind on TCP/IP port: Permission denied 2017-05-04T13:35:17.965643Z 0 [ERROR] Do you already have another mysqld server running on port: 1005 ? 2017-05-04T13:35:17.965674Z 0 [ERROR] Aborting
(1)首先第一反應是權限不足,透過排查,使用者權限足夠,mysql資料目錄擁有者和所屬群組都是mysql,故排除;
(2)報錯第二句表示可能存在mysql服務佔用1005端口,於是透過ss -nltup|grep mysql指令查看結果是並沒有任何mysql服務。
(3)最後上網百度了很多,都無果,突然有個想法,mysql的連接埠範圍包含1005嗎?於是查看手冊發現如下:
--port=port_num The port number that the server should use when listening for TCP/IP connections. The port number must be 1024 or higher unless the server is started by the root system user.
手冊寫的很是清楚,mysql的port範圍是大於等於1024,費了那麼長的時間,才發現原來人家手冊早就寫死了,真實吃力不討好,還是老實實用預設端口,多多閱讀手冊吧。
【相關推薦】
2. MySQL最新手冊教學
#以上是分享一個資料庫連線不上的問題及解決方案的詳細內容。更多資訊請關注PHP中文網其他相關文章!