1. 程式人生 > Mysql入門教學 >06 MySQL 多例項配置

06 MySQL 多例項配置

前面介紹如何在 Windows 、Linux 下安裝最新版 MySQL ,本節主要介紹如何在同一臺主機上配置多例項 MySQL。

1. 埠號概念

所謂的埠,就好像是門牌號一樣,客戶端可以通過 ip 地址找到對應的伺服器端,但是伺服器端是有很多埠的,每個應用程式對應一個埠號,通過類似門牌號的埠號,客戶端才能真正的訪問到該伺服器。為了對埠進行區分,將每個埠進行了編號,這就是埠號 。

而 MySQL 服務預設指定的埠號為 3306,這個在之前介紹安裝 MySQL 的時候,其中配置 my.ini 檔案的內容時候,其中就有埠號配置,內容如下:

圖片描述

2. MySQL 多例項應用場景

企業在專案開發過程中,會有各種各樣差異化的功能需求,這些不同的功能需求可能對 MySQL 版本有著不同的要求。

例如某公司官網開發時,使用的是 MySQL5.1 版本,但又有了一個新的開發專案進行,新的專案要求 MySQL 版本至少要 MySQL5.7,這時候假如只有一臺伺服器的情況下,就需要配置兩種不同版本的 MySQL。

對於作業系統來說,一個埠號只允許一個軟體服務佔用,但如果不進行相應的處理,MySQL 預設埠號是 3306,這會導致不同例項的 MySQL 之間會有佔用埠號衝突的情況,從而無法正常執行。

而對於擁有更多業務的企業來說,配置多例項 MySQL 也是為了更好地方便管理,之前介紹過安裝最新版 MySQL,並且啟動 8.0 版本的 MySQL 的預設埠是 3306。本小節為了演示方便,都使用 MySQL8.0 配置多例項。

3.安裝 MySQL 多例項步驟

前面章節介紹過 Windows 下安裝最新版 MySQL,這裡我們把下載好的安裝包複製兩份並分別重新命名為 “mysql3308”、“mysql3309”,如圖所示:

圖片描述

接下來介紹如何安裝啟動埠號分別為 33083309 的 MySQL 例項,如果想要配置更多 MySQL 例項,也可參考此方法新增多個 MySQL 例項。

1. 進入"mysql3308"目錄,新建 my.ini" 檔案,內容如下:

[mysqld]
# 設定3308埠
port=3308
# 設定mysql的安裝目錄
basedir=D:\WWW\mysql\mysql3308
# 設定mysql資料庫的資料的存放目錄
datadir=D:\WWW\mysql\mysql3308\data # 允許最大連線數 max_connections=200 #允許連線失敗的次數。防止有人從該主機試圖攻擊資料庫系統 max_connect_errors=10 # 服務端使用的字符集預設為UTF8 character-set-server=utf8 # 建立新表時將使用的預設儲存引擎 default-storage-engine=INNODB # 預設使用“mysql_native_password”外掛認證 default_authentication_plugin=mysql_native_password [mysql] # 設定mysql客戶端預設字符集 default-character-set=utf8 [client] # 設定mysql客戶端連線服務端時預設使用的埠 port=3308 default-character-set=utf8

如下圖所示 :
圖片描述

2. 以管理員身份開啟 cmd 命令,進入 D:WWW\mysql\mysql3308\bin 目錄,執行初始化命令,命令如下:

 命令 : mysqld --initialize --console

初始化成功如下圖所示:

圖片描述

3. 載入 MySQL 服務,注意之前安裝 MySQL 已經載入過 MySQL 服務,為了防止衝突,需要區分,命令如下:

 命令 : mysqld install mysql3308

載入安裝成功如下圖所示:

圖片描述

4. 此時可以啟動 mysql3308 服務了,啟動命令如下:

 命令 : net start mysql3308

啟動成功如下圖所示:

圖片描述

5. 用 3308 埠號登入 MySQL,登入命令如下:

 命令 : mysql -uroot -p -P3308

登入過程如圖所示:

圖片描述

登入成功之後如下圖所示:

圖片描述

6. 至此 安裝 3308 埠 MySQL 例項完成,後續參照此方法繼續完成 3309 號埠 MySQL 服務即可,每次新增一個例項要保證 my.ini 配置檔案埠號配置不衝突即可,安裝 3309 埠號例項如下圖所示:

圖片描述

以上為配置檔案 my.ini 內容,下圖為 mysql3309 服務啟動過程圖:

圖片描述

3. 小結

本小節介紹瞭如何在同一臺主機作業系統上配置多個 MySQL 例項,這些不同的 MySQL 服務互相獨立,分開管理,需要注意的是每個 MySQL 服務需要使用一個唯一的埠號,與其他類似服務之間也是如此,不能和其他類似軟體服務之間有埠號衝突,負責會導致 MySQL 服務無法正常執行。