MySQL 多實(shí)例配置
前面介紹如何在 Windows 、Linux 下安裝最新版 MySQL ,本節(jié)主要介紹如何在同一臺主機(jī)上配置多實(shí)例 MySQL。
1. 端口號概念
所謂的端口,就好像是門牌號一樣,客戶端可以通過 ip 地址找到對應(yīng)的服務(wù)器端,但是服務(wù)器端是有很多端口的,每個應(yīng)用程序?qū)?yīng)一個端口號,通過類似門牌號的端口號,客戶端才能真正的訪問到該服務(wù)器。為了對端口進(jìn)行區(qū)分,將每個端口進(jìn)行了編號,這就是端口號 。
而 MySQL 服務(wù)默認(rèn)指定的端口號為 3306,這個在之前介紹安裝 MySQL 的時候,其中配置 my.ini 文件的內(nèi)容時候,其中就有端口號配置,內(nèi)容如下:

2. MySQL 多實(shí)例應(yīng)用場景
企業(yè)在項(xiàng)目開發(fā)過程中,會有各種各樣差異化的功能需求,這些不同的功能需求可能對 MySQL 版本有著不同的要求。
例如某公司官網(wǎng)開發(fā)時,使用的是 MySQL5.1 版本,但又有了一個新的開發(fā)項(xiàng)目進(jìn)行,新的項(xiàng)目要求 MySQL 版本至少要 MySQL5.7,這時候假如只有一臺服務(wù)器的情況下,就需要配置兩種不同版本的 MySQL。
對于操作系統(tǒng)來說,一個端口號只允許一個軟件服務(wù)占用,但如果不進(jìn)行相應(yīng)的處理,MySQL 默認(rèn)端口號是 3306,這會導(dǎo)致不同實(shí)例的 MySQL 之間會有占用端口號沖突的情況,從而無法正常運(yùn)行。
而對于擁有更多業(yè)務(wù)的企業(yè)來說,配置多實(shí)例 MySQL 也是為了更好地方便管理,之前介紹過安裝最新版 MySQL,并且啟動 8.0 版本的 MySQL 的默認(rèn)端口是 3306。本小節(jié)為了演示方便,都使用 MySQL8.0 配置多實(shí)例。
3.安裝 MySQL 多實(shí)例步驟
前面章節(jié)介紹過 Windows 下安裝最新版 MySQL,這里我們把下載好的安裝包復(fù)制兩份并分別重新命名為 “mysql3308”、“mysql3309”,如圖所示:

接下來介紹如何安裝啟動端口號分別為 3308、3309 的 MySQL 實(shí)例,如果想要配置更多 MySQL 實(shí)例,也可參考此方法新增多個 MySQL 實(shí)例。
1. 進(jìn)入"mysql3308"目錄,新建 my.ini" 文件,內(nèi)容如下:
[mysqld]
# 設(shè)置3308端口
port=3308
# 設(shè)置mysql的安裝目錄
basedir=D:\WWW\mysql\mysql3308
# 設(shè)置mysql數(shù)據(jù)庫的數(shù)據(jù)的存放目錄
datadir=D:\WWW\mysql\mysql3308\data
# 允許最大連接數(shù)
max_connections=200
#允許連接失敗的次數(shù)。防止有人從該主機(jī)試圖攻擊數(shù)據(jù)庫系統(tǒng)
max_connect_errors=10
# 服務(wù)端使用的字符集默認(rèn)為UTF8
character-set-server=utf8
# 創(chuàng)建新表時將使用的默認(rèn)存儲引擎
default-storage-engine=INNODB
# 默認(rèn)使用“mysql_native_password”插件認(rèn)證
default_authentication_plugin=mysql_native_password
[mysql]
# 設(shè)置mysql客戶端默認(rèn)字符集
default-character-set=utf8
[client]
# 設(shè)置mysql客戶端連接服務(wù)端時默認(rèn)使用的端口
port=3308
default-character-set=utf8
如下圖所示 :

2. 以管理員身份打開 cmd 命令,進(jìn)入 D:WWW\mysql\mysql3308\bin 目錄,執(zhí)行初始化命令,命令如下:
命令 : mysqld --initialize --console
初始化成功如下圖所示:

3. 加載 MySQL 服務(wù),注意之前安裝 MySQL 已經(jīng)加載過 MySQL 服務(wù),為了防止沖突,需要區(qū)分,命令如下:
命令 : mysqld install mysql3308
加載安裝成功如下圖所示:

4. 此時可以啟動 mysql3308 服務(wù)了,啟動命令如下:
命令 : net start mysql3308
啟動成功如下圖所示:

5. 用 3308 端口號登錄 MySQL,登錄命令如下:
命令 : mysql -uroot -p -P3308
登錄過程如圖所示:

登錄成功之后如下圖所示:

6. 至此 安裝 3308 端口 MySQL 實(shí)例完成,后續(xù)參照此方法繼續(xù)完成 3309 號端口 MySQL 服務(wù)即可,每次新增一個實(shí)例要保證 my.ini 配置文件端口號配置不沖突即可,安裝 3309 端口號實(shí)例如下圖所示:

以上為配置文件 my.ini 內(nèi)容,下圖為 mysql3309 服務(wù)啟動過程圖:

3. 小結(jié)
本小節(jié)介紹了如何在同一臺主機(jī)操作系統(tǒng)上配置多個 MySQL 實(shí)例,這些不同的 MySQL 服務(wù)互相獨(dú)立,分開管理,需要注意的是每個 MySQL 服務(wù)需要使用一個唯一的端口號,與其他類似服務(wù)之間也是如此,不能和其他類似軟件服務(wù)之間有端口號沖突,負(fù)責(zé)會導(dǎo)致 MySQL 服務(wù)無法正常運(yùn)行。
愛因詩賢 ·
2025 imooc.com All Rights Reserved |