### **UNIX里啟動服務器程序**
在類UNIX系統中用來啟動MySQL服務器程序的可執行文件有很多,大多在MySQL安裝目錄的bin目錄下,我們一起來瞅瞅。
#### **mysqld**
mysqld這個可執行文件就代表著MySQL服務器程序,運行這個可執行文件就可以直接啟動一個服務器進程。但這個命令不常用,我們繼續往下看更牛逼的啟動命令。
#### **mysqld\_safe**
mysqld\_safe是一個啟動腳本,它會間接的調用mysqld,而且還順便啟動了另外一個監控進程,這個監控進程在服務器進程掛了的時候,可以幫助重啟它。另外,使用mysqld\_safe啟動服務器程序時,它會將服務器程序的出錯信息和其他診斷信息重定向到某個文件中,產生出錯日志,這樣可以方便我們找出發生錯誤的原因。
#### **mysql.server**
mysql.server也是一個啟動腳本,它會間接的調用mysqld\_safe,在調用mysql.server時在后邊指定start參數就可以啟動服務器程序了,就像這樣:
mysql.server start
需要注意的是,這個?**mysql.server**?文件其實是一個鏈接文件,它的實際文件是?**../support-files/mysql.server**。我使用的macOS操作系統會幫我們在bin目錄下自動創建一個指向實際文件的鏈接文件,如果你的操作系統沒有幫你自動創建這個鏈接文件,那就自己創建一個唄~ 別告訴我你不會創建鏈接文件,上網搜搜唄~
另外,我們還可以使用mysql.server命令來關閉正在運行的服務器程序,只要把start參數換成stop就好了:
mysql.server stop
#### **mysqld\_multi**
其實我們一臺計算機上也可以運行多個服務器實例,也就是運行多個MySQL服務器進程。mysql\_multi可執行文件可以對每一個服務器進程的啟動或停止進行監控。這個命令的使用比較復雜,本書主要是為了講清楚MySQL服務器和客戶端運行的過程,不會對啟動多個服務器程序進行過多嘮叨。
### **Windows里啟動服務器程序**
Windows里沒有像類UNIX系統中那么多的啟動腳本,但是也提供了手動啟動和以服務的形式啟動這兩種方式,下邊我們詳細看。
#### **mysqld**
同樣的,在MySQL安裝目錄下的bin目錄下有一個mysqld可執行文件,在命令行里輸入mysqld,或者直接雙擊運行它就算啟動了MySQL服務器程序了。
#### **以服務的方式運行服務器程序**
首先看看啥是個Windows?服務?如果無論是誰正在使用這臺計算機,我們都需要長時間的運行某個程序,而且需要在計算機啟動的時候便啟動它,一般我們都會把它注冊為一個Windows 服務,操作系統會幫我們管理它。把某個程序注冊為Windows服務的方式挺簡單,如下:
"完整的可執行文件路徑"?--install \[-manual\] \[服務名\]
其中的\-manual可以省略,加上它的話表示在Windows系統啟動的時候不自動啟動該服務,否則會自動啟動。服務名也可以省略,默認的服務名就是MySQL。比如我的Windows計算機上mysqld的完整路徑是:
C:\\Program Files\\MySQL\\MySQL Server 5.7\\bin\\mysqld
所以如果我們想把它注冊為服務的話可以在命令行里這么寫:
"C:\\Program Files\\MySQL\\MySQL Server 5.7\\bin\\mysqld"?--install
在把mysqld注冊為Windows服務之后,我們就可以通過下邊這個命令來啟動MySQL服務器程序了:
net start MySQL
當然,如果你喜歡圖形界面的話,你可以通過Windows的服務管理器通過用鼠標點點點的方式來啟動和停止服務(作為一個程序猿,還是用黑框框吧~)。
關閉這個服務也非常簡單,只要把上邊的start換成stop就行了,就像這樣:
net stop MySQL