文章摘要:
主要記錄解決端口被占用問題更舞,如何解決的嚣伐,對于所用的命令的一點學(xué)習(xí)懂算。
問題:
啟動項目時執(zhí)行以下命令
service docker start
去到assembly目錄下執(zhí)行
docker-compose up -d
出現(xiàn)如下錯誤
解決過程
lsof -i:3306
什么都沒顯示策严,接著執(zhí)行
telnet localhost 3306
顯示如下
繼續(xù)執(zhí)行
ps -eaf | grep mysql
顯示
這樣我們便可以看到mysql
的pid顶燕,此時我們只需要殺死占用端口的進(jìn)程
sudo kill 912
所以現(xiàn)在重啟服務(wù)即可凑保。
docker-compose up -d
命令學(xué)習(xí)
- lsof -i:3306
lsof(list open files)是一個列出當(dāng)前系統(tǒng)打開文件的工具。
命令格式:lsof [參數(shù)][文件]
命令功能:用于查看你進(jìn)程開打的文件涌攻,打開文件的進(jìn)程欧引,進(jìn)程打開的端口(TCP、UDP)恳谎。
命令參數(shù)-i<條件>: 列出符合條件的進(jìn)程芝此。
所以這條命令的功能就是查看正在使用3306端口的進(jìn)程。
- telnet localhost 3306
telnet命令通常用來遠(yuǎn)程登錄因痛。
命令格式:telnet[參數(shù)][主機(jī)]
命令功能:執(zhí)行telnet指令開啟終端機(jī)階段作業(yè)婚苹,并登入遠(yuǎn)端主機(jī)
通過這條命令來查看自己的數(shù)據(jù)庫能否連通
- ps -eaf | grep mysql
ps 監(jiān)視進(jìn)程工具
ps -ef 顯示所有進(jìn)程信息,連同命令行
ps 與grep 組合使用鸵膏,查找特定進(jìn)程
功能是查看mysql的進(jìn)程信息膊升。在這里也就是查看占用3306端口的進(jìn)程。
- kill 912
kill的應(yīng)用是和ps 或pgrep 命令結(jié)合在一起使用的谭企;
kill 的用法:kill [信號代碼] 進(jìn)程ID
功能是殺死進(jìn)程id為912的進(jìn)程用僧。