目錄
1.使用MySQL Installer安裝MySQL實例
1.1.去官網下載MySQL Installer
1.2.停止mysql服務?
1.3.為不同的版本指定不同的安裝目錄
2.配置不同版本的選項文件
2.1.修改數據目錄
2.2.修改基本目錄
2.3.修改端口號
2.4.設置?志?錄
2.5.配置臨時目錄
2.6.修改綁定地址
?2.7.檢驗是否配置成功
3.在多服務器環境中使用客戶端程序
3.1.配置MySQL環境變量
3.2.連接
有時候我們希望在一臺機器上運行多個MySQL實例,比如在開發環境測試新的MySQL版本,同時又要保證原有的版本不受影響;MySQL允許在一臺機器上安裝不同版本的發行版,比如同時運行5.7和8.0版本,只是要做一些相應的配置。
為了降低配置難度,本節將在Windows系統中使用安裝器演示配置多個MySQL實例的方法。
- 一個mysql服務對外提供服務需要端口號,所以兩個mysql實例的端口號是不能相同的
- 日志等其他自定義路徑根據版本號區分
- 千萬不要讓兩個不同的服務同時修改同一個目錄下的同一個文件?
1.使用MySQL Installer安裝MySQL實例
1.1.去官網下載MySQL Installer
注意:我的電腦已經安裝了mysql8.0
接下來我將下載不同版本的MySQL Installer,并完成安裝,安裝過程如下:
首先我們去官網:MySQL
?
1.2.停止mysql服務?
等待下載完成之后
我們先不要這么著急去安裝,我們得先把原來的mysql8.0的服務給我停止掉,因為我們安裝mysql5.7的時候它會自動啟動去加載那些配置文件啥的。
所以為了防止沖突,所以我們需要停止本機正在運行的mysql服務。?
?我們點擊停止按鈕,一定要出現下面這個情況,才算是停止成功了啊!!
那么在Linux下,我們只需執行
systemctl stop mysql
?即可停止mysq服務
1.3.為不同的版本指定不同的安裝目錄
首先我們得知道我們機器上已經安裝好的mysql8.0的安裝路徑是哪一個?
我們可以
?
這個D:\MySQL\MySQL Server 8.0\就是我們mysql8.0的安裝路徑。我們這次安裝千萬不要安裝到這里來了。
接著我們打開我們剛剛下載的那個mysql5.7的安裝包
接下來是至關重要的一步,指定安裝路徑
mysql官方其實很惡心,為了阻止我們更改安裝路徑煞費苦心。
?
?
這里就能更改我們的安裝路徑了,注意不能和原來那個mysql8.0的安裝路徑重復。
接著我們點擊OK即可,然后點擊next
我們點擊next?
?點擊Execute
點擊next?
這里端口號不要再寫3306了,必須改成別的。??
在這里我們輸入我們的密碼
?
?自啟動一定要關閉啊!!!
?
直接next即可?
?點擊Execute,等待完成,然后點擊Finish
這個時候就安裝完成了,我們去看看
看看它的安裝路徑是啥
沒有問題,這個安裝路徑和mysql8.0區分開來了。
我們設置的端口號是3308,我們可以去看看
很好,沒有問題。?
這個時候我們再去把停止的mysql8.0進行啟動一下
現在mysql8.0和mysql5.7在同時運行了。我們再看看端口號
?都沒有問題。現在就安裝完成了。我們現在這個機器就已經運行了mysql5.7和mysql8.0了。
我們也可以去目錄里面看看
2.配置不同版本的選項文件
????????不同的MySQL版本啟動時,會在默認的數據?錄下讀取相應版本的 my.ini ?件,?如5.7版本 啟動時會讀取D:\MySQL\MySQLServer5.7\my.ini?件,8.0版本啟動時會讀取 D:\MySQL\MySQLServer8.0\my.ini?件,為了讓不同版本的實例在啟動時避免沖 突,?如端?沖突,需要對不同版本的實例進??些差異配置。
2.1.修改數據目錄
現在mysql8.0和mysql5.7的數據目錄分別是D:\MySQL\MySQL Server 8.0\Data,D:\MySQL\MySQL Server 5.7\Data,我現在想要對它們進行集中管理,我想讓這兩個數據目錄分別修改為下面這個情況。
# 因為路徑中有空格,所以要?雙引號引起來# D:\MySQL\MySQL Server 5.7\my.ini
[mysqld] # mysqld節點
datadir= "D:/MySQL/databases/data5.7" #5.7版本的?定義的基本?錄# D:\MySQL\MySQL Server 8.0\my.ini
[mysqld] # mysqld節點
datadir= "D:/MySQL/databases/data8.0" #8.0版本的?定義的基本?錄
但是修改數據目錄可不僅僅只是修改配置文件這么簡單。?我們往下看
首先我們創建D:/MySQL/databases/,
然后我們要去 將D:\MySQL\MySQL Server 8.0\Data,D:\MySQL\MySQL Server 5.7\Data
分別拷貝到這里然后分別改名為data8.0,data5.7。
好,我們現在就來修改我們的配置文件。
- 修改MySQL8.0的配置文件
在配置選項之前,我們需要先備份一下我們的配置文件。
?
現在我們就可以去修改我們原來的配置文件了
?
?找到下面這個來
?修改datadir,改成D:/MySQL/databases/data8.0
?保存退出即可
- 接下來來修改mysql5.7的
還是不要忘記了保存副本
然后我們進去修改一下
?
保存退出即可。
2.2.修改基本目錄
?使?選項--basedir=dir_name 為每個實例指定基本?錄,通常指定為安裝?錄,不同的實例 會?動使?不同的數據?錄、?志?件和PID?件,這些?件的默認值都是相對于基本?錄的,當 然也可以?定義這些?件:
# 路徑中的空格要?雙引號引起來# D:\MySQL\MySQL Server 5.7\my.ini
[mysqld] # mysqld節點
basedir= "D:\MySQL\MySQL Server 5.7" #5.7版本的?定義的基本?錄# D:\MySQL\MySQL Server 8.0\my.ini
[mysqld] # mysqld節點
basedir= "D:\MySQL\MySQL Server 8.0" #8.0版本的?定義的基本?錄
這個其實我們沒必要改
2.3.修改端口號
通過選項--port 設置TCP/IP連接的端?號。如果主機有多個?絡地址,通過設置 bind_address 系統變量指定不同偵聽地址
# 路徑中的空格要?雙引號引起來# D:\MySQL\MySQL Server 5.7\my.ini
[mysqld] # mysqld節點
port=3308 #5.7版本的?定義的端口號# D:\MySQL\MySQL Server 8.0\my.ini
[mysqld] # mysqld節點
port=3306 #8.0版本的?定義的端口號
這個其實我們已經檢查過了,就不說了。
2.4.設置?志?錄
默認情況下如果開啟?般查詢?志,慢查詢?志,錯誤?志,?進制?志,會在默認的數據?錄下? 成?志?件,也可以?定義?錄。
首先我們需要準備下面這個目錄
- 對于MySQL8.0
我們發現系統自動開啟了這些日志的選項
接下來我把這些換成下面這個?
[mysqld] # MySQL 服務器核心配置節點
# ----- 日志輸出目標設置 -----
log-output=FILE # 指定所有日志輸出到文件系統(非數據庫表)# ----- 一般查詢日志配置 -----
general-log=0 # 關閉一般查詢日志(記錄所有客戶端執行的SQL語句)
general_log_file=D:/MySQL/log/log8.0/general.log # 一般查詢日志存儲路徑# ----- 慢查詢日志配置 -----
slow-query-log=1 # 啟用慢查詢日志(記錄執行時間過長的查詢)
slow_query_log_file=D:/MySQL/log/log8.0/slow_query.log # 慢查詢日志存儲路徑
long_query_time=10 # 定義慢查詢閾值(單位:秒,≥10秒的查詢會被記錄)# ----- 錯誤日志配置 -----
log-error=D:/MySQL/log/log8.0/error_log.err # 錯誤日志存儲路徑(記錄服務啟動/運行中的關鍵錯誤)# ----- 二進制日志配置 -----
log-bin=D:/MySQL/log/log8.0/bin_log # 二進制日志存儲路徑(用于主從復制和數據恢復)
保存即可。
- 對于MySQL5.7
我們也是將其修改成下面這個
[mysqld] # 服務器配置節點
# ----- 日志輸出目標設置 -----
log-output=FILE # 指定日志輸出到文件(非表)# ----- 一般查詢日志配置 -----
general-log=0 # 禁用一般查詢日志(記錄所有SQL操作)
general_log_file=D:/MySQL/log/log5.7/general.log # 一般查詢日志存儲路徑# ----- 慢查詢日志配置 -----
slow-query-log=1 # 啟用慢查詢日志
slow_query_log_file=D:/MySQL/log/log5.7/slow_query.log # 慢查詢日志存儲路徑
long_query_time=10 # 定義慢查詢閾值(執行時間≥10秒的查詢)# ----- 錯誤日志配置 -----
log-error=D:/MySQL/log/log5.7/error_log.err # 錯誤日志存儲路徑(記錄啟動/運行錯誤)# ----- 二進制日志配置 -----
log-bin=D:/MySQL/log/log5.7/bin_log # 二進制日志存儲路徑(用于主從復制/數據恢復)
2.5.配置臨時目錄
mysql在運行過程中還是會產生很多臨時文件,這些臨時文件可不能亂放,所以我們需要對它們進行統一管理。
# 路徑中的空格要?雙引號引起來# D:\MySQL\MySQL Server 5.7\my.ini
[mysqld] # mysqld節點
tmpdir=D:/MySQL/temp/temp5.7# D:\MySQL\MySQL Server 8.0\my.ini
[mysqld] # mysqld節點
tmpdir=D:/MySQL/temp/temp8.0
首先我們需要準備這個目錄?
然后我們就去配置一下,那具體過程我就不說了。
2.6.修改綁定地址
對于bind_address,還是很有必要修改的,這決定了我們能不能連接上mysql服務器
這個大家自己去修改即可。
?2.7.檢驗是否配置成功
現在我們就得去重新啟動我們的mysql服務,看看有沒有配置成功。
注意:如果重新啟動不了,就說明我們配置失敗了。就像下面這個情況
我們點擊確定之后始終啟動不了我們的mysql服務
這個時候要重新檢查一下我們的配置過程是不是出問題了,包括路徑的名稱,選項等
這個時候我們還是需要去檢查一下端口號有沒有正常運行
沒有問題,都在正常運行。
現在就正式的配置成功了。
3.在多服務器環境中使用客戶端程序
3.1.配置MySQL環境變量
為了連接不同版本的mysql服務器,我們需要借助命令行工具。
但是如果我們不配置環境變量的話,就會出現下面這個情況
我們不能從任意位置訪問mysql服務器
?這就需要我們去配置環境變量。
- 1.找到MySQL的安裝位置
一般默認的是C:\Program Files,我的是在D盤,這個沒有很大要求
如果不記得自己安裝的路徑了,可以通過從“服務”中找到MySQL,點擊“屬性”即可看到安裝路徑
?我們可以先看看Mysql8.0的安裝路徑
?
我們只需要bin前面那一部分,即D:\MySQL\MySQL Server 8.0。這就是mysql8.0的安裝路徑。
至于mysql5.7的安裝路徑,則是D:\MySQL\MySQL Server 5.7
- 2. 找到環境變量
點擊電腦,選擇屬性,點擊“高級系統設置”
變量名 | 變量值 |
---|---|
MYSQL57_HOME | D:\MySQL\MySQL Server 5.7 |
MYSQL80_HOME | D:\MySQL\MySQL Server 8.0 |
在系統變量的框框里點擊新建,創建變量名MYSQL57_HOME,路徑為安裝MySQL5.7的目錄下,即bin的上一層目錄D:\MySQL\MySQL Server 5.7
在系統變量的框框里點擊新建,創建變量名MYSQL80_HOME,路徑為安裝MySQL8.0的目錄下,即bin的上一層目錄D:\MySQL\MySQL Server 8.0
?
- 3.編輯path系統變量,將?%MYSQL80_HOME%\bin?和?%MYSQL57_HOME%\bin添加到path變量后
添加下面這兩個即可?
然后按確定即可。
現在我們就可以使用cmd命令行來連接我們的mysql服務器了。
3.2.連接
使用mysql客戶端程序,根據不同版本的MySQL實例配置的IP和端口號,指定相應的選項,連接不同的MySQL服務器。 指定端口通過--port=端口號選項實現, 如果綁定了不同的網卡通過--host=host_name選項實現, 如果不指定--host選項,則使用默認值localhost。
如果說我們想要連接mysql5.7版本的,我們的連接命令就應該是下面這樣子
mysql --port=3308 -u root -p
?
?如果說我們想要連接mysql8.0版本的,我們的連接命令就應該是下面這樣子
mysql --port=3306 -u root -p
很好。
現在就算是完全成功了。