解決Mac命令行輸入mysql提示找不到命令的問題


Mac上安裝了mysql,之前遇到一個問題,每次重新登陸mysql,都要再設置一遍環境變量,我還在筆記中記錄了這個問題. 今天學習了Linux才徹底解決這個問題. 主要還是對export這個命令理解不足,以為這個是一勞永逸的設置環境變量的命令.  但其實這只是起到一個類似將變量導入到當前程序的作用, 實際上對於系統來說,系統的環境變量仍然沒有修改.

Tips:

“PATH 是可執行文件搜尋的路徑,目錄與目錄中間以冒號(:)分隔, 由於文件的搜尋是依序由 PATH 的變量內的目錄來查詢,所以,目錄的順序也是重要的".

 

下面來說根本的解決方法.

1. 首先查看系統的環境變量可以直接輸入export,這樣可以查看到所有的系統環境變量,要能夠直接輸入mysql命令,mysql的命令的環境變量需要放到PATH中,如下可以看到,我系統中PATH這個變量里面是沒有mysql的環境變量的, 所以輸入mysql會提示找不到該命令.

 

2.設置mysql的環境變量 PATH=$PATH:/usr/local/mysql/bin

可以看到再輸入mysql 命令能夠識別了.

並且再次使用export查看系統中PATH環境變量,可以看到/usr/local/mysql/bin已經添加上去.

 

總結:

1. 要把環境變量設置到系統的環境變量中,直接定義PATH即可,格式是PATH=$PATH:你要加的路徑 (或者PATH=${PATH}:路徑)

2.使用export可以查看當前系統的環境變量.

3.使用export PATH=$PASH:路徑 這種方式只能在當前生效,沒有改變系統的環境變量. 下一次還是要再次進行設置.

4.疑問:  書中提到我們在原本的bash下面去執行另一個bash,結果操作的環境接口就會跑到第二個bash去(就是子程序).  這里不太理解去到子程序是怎樣一個概念.比如我之前輸入export PATH=${PATH}:/usr/local/mysql/bin , 從某種程度上說,這是在子程序中加上的mysql環境變量.  那如何定義我是進入了子程序,而不是在主程序中呢?

附上書中的圖片,來自《鳥哥的Linux私房菜》.

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM