我們項目用的mySQL數據庫,為了回家看代碼方便,於是在本地安裝mySQL數據庫,一開始安裝了比服務器mySQL5.7.24更高版本的mySQL8.0.11,結果項目啟動報錯,估計是版本太高項目中引入的mysql連接包不支持,但我又不想將mySQL8.0.11刪掉,或許后續有用,於是只好再安裝了一個mySQL5.7.22(因為剛好我電腦有這個版本的壓縮包文件)。
安裝第二個mySQL時的操作如下:
1、新建一個文件夾放mySQL5.7.22的解壓縮文件(我的在d盤根目錄)
2、在bin文件夾的同級目錄下新建my.ini文件:
具體配置如下,mySQL的默認端口為3306,因為我的mySQL8用了這個端口,於是mySQL5的端口就用了3307,再就是設置下mySQL的安裝目錄,以及存放data的目錄(安裝mySQL8時需要配置這個,mySQL5不需要,后面說明)
[client]
# 設置mysql客戶端默認字符集
default-character-set=utf8
[mysqld]
# 設置3307端口,避免與已安裝的沖突
port = 3307
# 設置mysql的安裝目錄
basedir=D:\mysql5\mysql-5.7.22-winx64
# 設置 mysql數據庫的數據的存放目錄,MySQL 8+ 不需要以下配置,系統自己生成即可,否則有可能報錯
datadir=D:\mysql5\data
# 允許最大連接數
max_connections=20
# 服務端使用的字符集默認為8比特編碼的latin1字符集
character-set-server=utf8
# 創建新表時將使用的默認存儲引擎
default-storage-engine=INNODB
3、修改環境變量%MYSQL_HOME%為mySQL5的bin文件夾所在的路徑,我的為:D:\mysql5\mysql-5.7.22-winx64\bin(原來為mySQL8的,網上查詢可能有影響,於是我修改了)
4、然后以管理員身份運行cmd,切換到D:\mysql5\mysql-5.7.22-winx64\bin路徑后執行如下命令:mysqld install MySQL5 --defaults-file="D:\mysql5\mysql-5.7.22-winx64\my.ini" (論說前面設置了環境變量,這里不用切換到D:\mysql5\mysql-5.7.22-winx64\bin路徑也可以執行,大家可以試試,我的直接安裝成功了所以沒得試)注意:mySQL5和mySQL8的安裝命令不同,一開始用的mySQL8的命令提示沒有這個命令(mysqld-nt install MySQL5 --defaults-file="D:\mysql5\mysql-5.7.22-winx64\my.ini" )
5、啟動服務mySQL5,結果發現服務啟動不了,提示:MySQL服務無法啟動 服務沒有報告任何錯誤 請鍵入NET HELPMSG 3534 以獲得更多幫助,如下:
然后上網查詢找到如下解決方式:安裝好MySQL后,打開cmd命令窗口,並且進入到MySQL安裝目錄中的bin目錄,然后輸入如下命令回車即可:mysqld --initialize-insecure --user=mysql
執行完上面命令后,MySQL會自建一個data文件夾,並且建好默認數據庫,登錄的用戶名為root,密碼為空,之后就可以通過命令net start mysql啟動mysql服務了。(親測成功)所以跟mySQL8的安裝不同,這里不用建data文件,而是自動生成。
到此成功安裝了2個不同版本的mySQL數據庫,到服務面板將兩個服務同時起來就可以自由使用了兩個庫了。