不論我們通過下載源代碼自行編譯安裝的方式還是直接使用官方提供的安裝包進行安裝之后,MySQL的服務器程序和客戶端程序都會被安裝到我們的機器上。不論使用上述兩者的哪種安裝方式,一定一定一定(重要的話說三遍)要記住你把MySQL安裝到哪了,換句話說,一定要記住MySQL的安裝目錄。
小貼士: `MySQL`的大部分安裝包都包含了服務器程序和客戶端程序,不過在Linux下使用RPM包時會有單獨的服務器RPM包和客戶端RPM包,需要分別安裝。
另外,MySQL可以運行在各種各樣的操作系統上,我們后邊會討論在類UNIX操作系統和Windows操作系統上使用的一些差別。為了方便大家理解,我在macOS?操作系統(蘋果電腦使用的操作系統)和Windows操作系統上都安裝了MySQL,它們的安裝目錄分別是:
·macOS操作系統上的安裝目錄:
/usr/local/mysql/
·Windows操作系統上的安裝目錄:
C:\\Program Files\\MySQL\\MySQL Server 5.7
下邊我會以這兩個安裝目錄為例來進一步扯出更多的概念,不過一定要注意,這兩個安裝目錄是我的運行不同操作系統的機器上的安裝目錄,一定要記著把下邊示例中用到安裝目錄的地方替換為你自己機器上的安裝目錄。
小貼士: 類UNIX操作系統非常多,比如FreeBSD、Linux、macOS、Solaris等都屬于UNIX操作系統的范疇,我們這里使用macOS操作系統代表類UNIX操作系統來運行MySQL。
### **bin目錄下的可執行文件**
在MySQL的安裝目錄下有一個特別特別重要的bin目錄,這個目錄下存放著許多可執行文件,以macOS系統為例,這個bin目錄的絕對路徑就是(在我的機器上):
/usr/local/mysql/bin
我們列出一些在macOS中這個bin目錄下的一部分可執行文件來看一下(文件太多,全列出來會刷屏的):
.
├── mysql
├── mysql.server -> ../support-files/mysql.server
├── mysqladmin
├── mysqlbinlog
├── mysqlcheck
├── mysqld
├── mysqld\_multi
├── mysqld\_safe
├── mysqldump
├── mysqlimport
├── mysqlpump
... (省略其他文件)
0 directories, 40 files
Windows中的可執行文件與macOS中的類似,不過都是以.exe為擴展名的。這些可執行文件都是與服務器程序和客戶端程序相關的,后邊我們會詳細嘮叨一些比較重要的可執行文件,現在先看看執行這些文件的方式。
對于有可視化界面的操作系統來說,我們拿著鼠標點點點就可以執行某個可執行文件,不過現在我們更關注在命令行環境下如何執行這些可執行文件,命令行通俗的說就是那些黑框框,這里的指的是類UNIX系統中的Shell或者Windows系統中的cmd.exe,如果你現在還不知道怎么啟動這些命令行工具,網上搜搜吧~ 下邊我們以macOS系統為例來看看如何啟動這些可執行文件(Windows中的操作是類似的,依葫蘆畫瓢就好了)
·
使用可執行文件的相對/絕對路徑
·
假設我們現在所處的工作目錄是MySQL的安裝目錄,也就是/usr/local/mysql,我們想啟動bin目錄下的mysqld這個可執行文件,可以使用相對路徑來啟動:
·
./bin/mysqld
·
或者直接輸入mysqld的絕對路徑也可以:
·
/usr/local/mysql/bin/mysqld
·
將該bin目錄的路徑加入到環境變量PATH中
·
如果我們覺得每次執行一個文件都要輸入一串長長的路徑名賊麻煩的話,可以把該bin目錄所在的路徑添加到環境變量PATH中。環境變量PATH是一系列路徑的集合,各個路徑之間使用冒號:隔離開,比方說我的機器上的環境變量PATH的值就是:
·
/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
·
我的系統中這個環境變量PATH的值表明:當我在輸入一個命令時,系統便會在/usr/local/bin、/usr/bin:、/bin:、/usr/sbin、/sbin這些目錄下依次尋找是否存在我們輸入的那個命令,如果尋找成功,則執行該目錄下對應的可執行文件。所以我們現在可以修改一下這個環境變量PATH,把MySQL安裝目錄下的bin目錄的路徑也加入到PATH中,在我的機器上修改后的環境變量PATH的值為:
·
/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/mysql/bin
·
這樣現在不論我們所處的工作目錄是啥,我們都可以直接輸入可執行文件的名字就可以啟動它,比如這樣:
·
mysqld
·
方便多了哈~
·
小貼士: 關于啥是環境變量以及如何在當前系統中添加或修改系統變量不是我們嘮叨的范圍,大家找本相關的書或者上網查一查哈~