前言
本文介紹如何在windows中快速的同時安裝多個不同版本的mysql數據庫,自定義端口,自定義存儲位置,自定義是否開機啓動mysql服務,可以方便的在本地測試不同版本的mysql數據庫。
實驗環境
win10版本:Microsoft Windows [版本 10.0.18363.900] x64
下載社區版的MySQL安裝包
開發人員專區
下載中心
https://dev.mysql.com/downloads/
社區版mysql server下載
https://dev.mysql.com/downloads/mysql/
所有歷史版本的下載
https://downloads.mysql.com/archives/community/
這裏我們下載5.5 5.6 5.7三個版本的mysql。
由於我們是自定義端口、存儲位置,所以使用解壓縮的方式進行安裝會比較方便,所以下載時選擇下載壓縮包格式的安裝包。
在所有歷史版本的下載頁面下載不同版本的MySQL即可,如下:
MySQL5.5.62的下載https://downloads.mysql.com/archives/get/p/23/file/mysql-5.5.62-winx64.zip,如下圖:
MySQL5.6.48的下載https://downloads.mysql.com/archives/get/p/23/file/mysql-5.6.48-winx64.zip,如下圖
MySQL5.7.30的下載https://downloads.mysql.com/archives/get/p/23/file/mysql-5.7.30-winx64.zip,如下圖:
MySQL5.5.62的安裝
解壓縮後添加配置文件
我們將mysql-5.5.62-winx64.zip解壓到我們想要安裝的目錄,然後打開,裏面又幾個常用的mysql配置文件,如下圖:
my-huge.ini
my-innodb-heavy-4G.ini
my-large.ini
my-medium.ini
my-small.ini
這五個配置文件針對不同大小系統的樣例配置文件,small medium large huge heavy依次遞增。
我們這裏是演示安裝,不使用這些配置文件,使用我整理的一個配置文件,內容如下:
-
-
[]
-
default-character-set=utf8
-
-
[]
-
default-character-set=utf8
-
-
[]
-
-
port=3307
-
-
-
character-set-client-handshake=FALSE
-
character-set-server=utf8
-
collation-server=utf8_unicode_ci
-
init_connect='SET NAMES utf8'
-
-
basedir=C:\msf\mysql\mysql-5.5.62-winx64
-
-
datadir=C:\msf\mysql\mysql-5.5.62-winx64\data
-
-
-
default-time-zone='+08:00'
-
-
-
lower_case_table_names=1
-
-
server-id=1
-
-
log-bin=mysql-bin
-
-
-
binlog-format=ROW
-
-
-
symbolic-links=0
-
-
-
innodb_file_per_table=1
根據配置文件的內容,我們在C:\msf\mysql\mysql-5.5.62-winx64\my.ini位置添加配置文件
測試啓動
以管理員身份打開命令提示符窗口,執行下面的命令
C:\msf\mysql\mysql-5.5.62-winx64\bin\mysqld --defaults-file="C:\msf\mysql\mysql-5.5.62-winx64\my.ini"
啓動效果如下圖
測試連接
啓動一個新的cmd窗口,執行下面的命令,測試連接mysql
C:\msf\mysql\mysql-5.5.62-winx64\bin\mysql -P 3307 -u root
由於默認的root密碼爲空,所以可以直接登錄,如下圖:
關閉測試服務
經過測試,我們的配置文件沒有問題,可以正常的啓動mysql,接下來我們暫時先關閉mysql服務,在測試連接mysql的cmd窗口中執行下面的命令來關閉mysql服務
C:\msf\mysql\mysql-5.5.62-winx64\bin\mysqladmin -P 3307 -u root shutdown
執行完命令後,啓動mysql服務的cmd窗口中可能沒有反應,如果沒有反映的話,點一下回車,cmd就會回到可輸入狀態了,如下圖:
添加windows服務,以windows服務的形式運行
接下來,我們將mysql5.5.62寫入到windows的系統服務中,方便啓動和停止,方法也很簡單,但管理員身份打開的cmd窗口執行下面的命令就可以了
C:\msf\mysql\mysql-5.5.62-winx64\bin\mysqld install MySQL5_5_62_3307 --defaults-file="C:\msf\mysql\mysql-5.5.62-winx64\my.ini"
其中 MySQL5_5_62_3307 是我們自己命令的服務名稱,這裏使用mysql版本號和服務端口號來命名
執行效果,如下圖所示
此時,我們mysql5.5.62的windows服務就安裝成功了,安裝完服務後,啓動和停止就比較簡單了,執行下面的命令就可以了,很簡單
net start MySQL5_5_62_3307
net stop MySQL5_5_62_3307
在任務管理器中查看我們剛纔添加並啓動的服務,如下圖
在任務管理器窗口,我們繼續“打開服務”,在服務列表中查看,如下圖
可以看到,我們添加的服務,默認是自動啓動的,也就是說開機後會自動啓動,如果不想開機啓動的話,可以修改下啓動類型。
我們繼續打開服務的屬性看下,如下圖
可以看到,服務的“可執行文件的路徑”就是我們剛纔執行服務安裝路徑時的命令的一部分,這個服務啓動時就是執行的我們測試啓動時所執行的命令,如下
C:\msf\mysql\mysql-5.5.62-winx64\bin\mysqld --defaults-file="C:\msf\mysql\mysql-5.5.62-winx64\my.ini"
至此,我們的mysql5.5.62就安裝完成了,我們再用數據連接工具Navicat for MySQL試一下,如下:
MySQL 5.6.48的安裝
解壓縮後添加配置文件
我們將mysql-5.6.48-winx64.zip解壓到我們想要安裝的目錄,然後打開,如下圖:
可以看到,這個版本中的根目錄下,已經沒有了那麼多的樣例配置文件,只有一個my-default.ini
這裏同樣是使用我整理的一個配置文件,但是將mysqld下的端口號修改爲3308,同時也修改下basedir和basedata,如下:
根據配置文件的內容,我們在C:\msf\mysql\mysql-5.6.48-winx64\my.ini位置添加配置文件
測試啓動
以管理員身份打開命令提示符窗口,執行下面的命令
C:\msf\mysql\mysql-5.6.48-winx64\bin\mysqld --defaults-file="C:\msf\mysql\mysql-5.6.48-winx64\my.ini"
這裏有一個可能會遇到的一個錯誤,系統提示“缺少msvcr100.dll無法運行”,需要安裝下vcredist_x64,可以到下面這個地址進行下載
https://www.microsoft.com/en-us/download/confirmation.aspx?id=14632
啓動效果如下圖
測試連接
啓動一個新的cmd窗口,執行下面的命令,測試連接mysql
C:\msf\mysql\mysql-5.6.48-winx64\bin\mysql -P 3308 -u root
由於默認的root密碼爲空,所以可以直接登錄,如下圖:
關閉測試服務
經過測試,我們的配置文件沒有問題,可以正常的啓動mysql,接下來我們暫時先關閉mysql服務,在測試連接mysql的cmd窗口中執行下面的命令來關閉mysql服務
C:\msf\mysql\mysql-5.6.48-winx64\bin\mysqladmin -P 3308 -u root shutdown
執行完命令後,啓動mysql服務的cmd窗口中可能沒有反應,如果沒有反映的話,點一下回車,cmd就會回到可輸入狀態了,如下圖:
添加windows服務,以windows服務的形式運行
接下來,我們將mysql5.6.48寫入到windows的系統服務中,方便啓動和停止,方法也很簡單,但管理員身份打開的cmd窗口執行下面的命令就可以了
C:\msf\mysql\mysql-5.6.48-winx64\bin\mysqld install MySQL5_6_48_3308 --defaults-file="C:\msf\mysql\mysql-5.6.48-winx64\my.ini"
其中 MySQL5_6_48_3308 是我們自己命令的服務名稱,這裏使用mysql版本號和服務端口號來命名
執行效果,如下圖所示
此時,我們mysql5.6.48的windows服務就安裝成功了,安裝完服務後,啓動和停止就比較簡單了,執行下面的命令就可以了,很簡單
net start MySQL5_6_48_3308
net stop MySQL5_6_48_3308
在任務管理器中查看我們剛纔添加並啓動的服務,如下圖
在任務管理器窗口,我們繼續“打開服務”,在服務列表中查看,如下圖
可以看到,我們添加的服務,默認是自動啓動的,也就是說開機後會自動啓動,如果不想開機啓動的話,可以修改下啓動類型。
我們繼續打開服務的屬性看下,如下圖
可以看到,服務的“可執行文件的路徑”就是我們剛纔執行服務安裝路徑時的命令的一部分,這個服務啓動時就是執行的我們測試啓動時所執行的命令,如下
C:\msf\mysql\mysql-5.6.48-winx64\bin\mysqld --defaults-file="C:\msf\mysql\mysql-5.6.48-winx64\my.ini"
至此,我們的mysql5.6.48就安裝完成了,我們再用數據連接工具Navicat for MySQL試一下,如下:
MySQL 5.7.30的安裝
解壓縮後添加配置文件
我們將mysql-5.7.30-winx64.zip解壓到我們想要安裝的目錄,然後打開,如下圖:
可以看到,這個版本中的根目錄下,已經沒有了樣例配置文件,同時data目錄也沒有了,所以這個版本的安裝方式跟5.5和5.6略有不同。
這裏同樣是使用我整理的一個配置文件,但是將mysqld下的端口號修改爲3309,同時也修改下basedir和basedata,如下:
根據配置文件的內容,我們在C:\msf\mysql\mysql-5.7.30-winx64\my.ini位置添加配置文件
測試啓動
由於這個版本中並沒有data目錄,所以需要我們先執行下初始化操作
在管理員身份打開的命令提示符窗口中執行,注意一定要加--console參數,不然看不到生成的root初始密碼
C:\msf\mysql\mysql-5.7.30-winx64\bin\mysqld --initialize --console
這裏有一個可能會遇到的一個錯誤,系統提示“缺少msvcr120.dll無法運行”,需要安裝下vcredist_x64 2013,可以到下面這個地址進行下載
https://www.microsoft.com/zh-cn/download/confirmation.aspx?id=40784
initialize的執行結果如下圖
注意,我標紅圈起來的是root的初始密碼
執行完成後,我們看下C:\msf\mysql\mysql-5.7.30-winx64\data,這個目錄中已經有了類似5.5 5.6版本中data目錄中的文件
然後執行下面的命令,測試啓動,注意加--console參數,不然會沒有任何的輸出信息
C:\msf\mysql\mysql-5.7.30-winx64\bin\mysqld --defaults-file="C:\msf\mysql\mysql-5.7.30-winx64\my.ini" --console
啓動效果如下圖
測試連接
啓動一個新的cmd窗口,執行下面的命令,測試連接mysql
C:\msf\mysql\mysql-5.7.30-winx64\bin\mysql -P 3309 -u root -p
<7.lazkbb=OE
5.7版本,root必須使用密碼登錄,而且使用初始密碼等後,必須修改密碼,不然無法執行任何的命令,如下圖中的提示信息
所以我們需要先重置下root密碼
set password = password('root');
重置root密碼後就可以正常的執行命令了,如下圖:
關閉測試服務
經過測試,我們的配置文件沒有問題,可以正常的啓動mysql,接下來我們暫時先關閉mysql服務,在測試連接mysql的cmd窗口中執行下面的命令來關閉mysql服務
C:\msf\mysql\mysql-5.7.30-winx64\bin\mysqladmin -P 3309 -u root -p shutdown
root
執行完命令後,啓動mysql服務的cmd窗口中可能沒有反應,如果沒有反映的話,點一下回車,cmd就會回到可輸入狀態了,如下圖:
添加windows服務,以windows服務的形式運行
接下來,我們將mysql5.7.30寫入到windows的系統服務中,方便啓動和停止,方法也很簡單,但管理員身份打開的cmd窗口執行下面的命令就可以了
C:\msf\mysql\mysql-5.7.30-winx64\bin\mysqld install MySQL5_7_30_3309 --defaults-file="C:\msf\mysql\mysql-5.7.30-winx64\my.ini"
其中 MySQL5_7_30_3309 是我們自己命令的服務名稱,這裏使用mysql版本號和服務端口號來命名
執行效果,如下圖所示
此時,我們mysql5.7.30的windows服務就安裝成功了,安裝完服務後,啓動和停止就比較簡單了,執行下面的命令就可以了,很簡單
net start MySQL5_7_30_3309
net stop MySQL5_7_30_3309
在任務管理器中查看我們剛纔添加並啓動的服務,如下圖
在任務管理器窗口,我們繼續“打開服務”,在服務列表中查看,如下圖
可以看到,我們添加的服務,默認是自動啓動的,也就是說開機後會自動啓動,如果不想開機啓動的話,可以修改下啓動類型。
我們繼續打開服務的屬性看下,如下圖
可以看到,服務的“可執行文件的路徑”就是我們剛纔執行服務安裝路徑時的命令的一部分,這個服務啓動時就是執行的我們測試啓動時所執行的命令,不同的是我們沒有添加--console參數,如下
C:\msf\mysql\mysql-5.7.30-winx64\bin\mysqld --defaults-file="C:\msf\mysql\mysql-5.7.30-winx64\my.ini"
至此,我們的mysql5.7.30就安裝完成了,我們再用數據連接工具Navicat for MySQL試一下,如下:
總結
實現windows下不同版本mysql同時安裝,首先是使用免安裝版的mysql壓縮包進行解壓安裝,其次是不同的版本要通過配置文件設置不同的端口,最後是將mysql服務寫入windows的服務列表中(這樣啓動和關閉就很方便,設置開機啓動或者不啓動也很方便)。
本文說的是不同版本的mysql安裝,其實相同版本同時部署多個mysql服務也是沒問題的,只需要修改端口號、安裝目錄、數據目錄即可,有興趣的朋友可以嘗試下。
聲明:本片文章轉載自https://blog.csdn.net/amnb123/article/details/107598902