Windows下用命令行同時安裝MySQL8和MySQL5.7,以及安裝workbench並解決無法啓動的問題

參考鏈接:
windows環境下:安裝MySQL8.0;同時安裝MySQL5.7
mysql8.0卸載乾淨–win10
MySQL安裝|菜鳥教程
首先從MySQL官網下載MySQL8版的zip文件和MySQL5版的zip文件。順便下載了MySQL workbench 可執行安裝文件。

安裝MySQL

我首先安裝MySQL8,然後安裝MySQL5。

解壓MySQL壓縮包

解壓MySQL8壓縮包和MySQL5壓縮包到自己定義的地放,路徑最好不要包含空格和中文,防止出現問題。我的安裝路徑是D:\MySQL\mysql-5.7.29 和 D:\MySQL\mysql-8.0.17。

my.ini

分別爲兩個版本的MySQL新建my.ini文件。配置文件的整體相同,只是有個別地方需要修改。my.ini文件的位置分別爲:D:\MySQL\mysql-5.7.29\my.ini 和 D:\MySQL\mysql-8.0.17\my.ini。
配置文件的內容是我從網上找的。MySQL5的my.ini:

[mysqld]
# 設置端口
port=3307
# 設置mysql的安裝目錄
basedir=D:\\MySQL\\mysql-5.7.29
# 設置mysql數據庫的數據的存放目錄
datadir=D:\\MySQL\\mysql-5.7.29\\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=3307
default-character-set=utf8

MySQL8的my.ini:

[mysqld]
# 設置3306端口
port=3306
# 設置mysql的安裝目錄
basedir=D:\\MySQL\\mysql-8.0.17
# 設置mysql數據庫的數據的存放目錄
datadir=D:\\MySQL\\mysql-8.0.17\\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=3306
default-character-set=utf8

需要根據自己放的位置修改文件中對應的地方。

開始安裝

首先以管理員身份運行cmd。
切換當前目錄到MySQL8的bin目錄。
然後執行

mysqld --initialize --user=root --console

這個命令是初始化MySQL,併爲用戶創建臨時隨機密碼。隨機密碼會顯示在窗口中,可以找到。user參數一般爲root。
如圖:
初始化執行的結果和生成的密碼

然後執行

mysqld --install MySQL8

執行這個命令是安裝MySQL服務,服務的名字爲MySQL8。之所以要給服務命名爲MySQL8是因爲打算安裝兩個版本的MySQL,這樣可以區別開兩個服務。

修改密碼

由於初始密碼是隨機的,所以還是改個自己記得住的密碼吧。
首先要啓動服務,然後進入MySQL。管理員身份打開cmd切換到MySQL8的bin目錄下執行。

net start mysql8
mysql -u root -p

然後輸入初始的密碼後進入MySQL。
執行語句:

alter user 'root'@'localhost' identified by 'newpassword' password expire never;
flush privileges;
exit;

就把密碼重置爲newpassword了。然後退出數據庫。
到這裏就裝好了MySQL8。MySQL5的安裝流程一致,只是我把MySQL的服務名稱命名爲MySQL5。

提醒

在啓動服務MySQL8後,此時要在MySQL8的bin目錄下執行

mysql -u root -p

輸入密碼後才能進入MySQL8。如果啓動服務後,是在MySQL5的bin目錄下執行的登錄命令,是會被拒絕進入的。

如果安裝出問題可以參考頂部的參考鏈接,刪除MySQL後重裝。

補充

如果想要從命令行在任何目錄下啓動服務並進入對應的MySQL中,需要把MySQL8的bin目錄和MySQL5的bin目錄加入到環境變量的路徑中
爲了區別開兩個版本的mysql.exe,需要重命名MySQL的bin目錄下mysql.exe的文件名。我對應的改爲了mysql8.exe 和mysql5.exe。
具體操作就不列出了,很容易從網上找到。

對於Mysql workbench不能啓動

裝兩個版本的MySQL後 還是不要裝MySQL workbench了,因爲這會導致MySQL5 無法運行。

下載了最新版的MySQL workbench,使用安裝程序正確安裝完後,不能打開程序。
看網上說的是需要添加最新的Microsoft .NET Framework 4.*
Microsoft Visual C++ 2019 Redistributable for Visual Studio 2019。這個鏈接下載的Microsoft Visual C++ 2019 Redistributable for Visual Studio 2019 是2015,2017和2019三個的集合包,我沒找到2019單獨的包。
另外當前安裝MySQL workbench 需要獨立的 Microsoft Visual C++ 2015 Redistributable for Visual Studio 2015

注意

要先安裝Microsoft Visual C++ 2015 Redistributable for Visual Studio 2015,MySQL workbench完成安裝後再安裝Microsoft Visual C++ 2019 Redistributable for Visual Studio 2019。因爲高版本存在時,低版本是不能安裝的。
Microsoft .NET Framework 是Windows自帶的程序,在控制面中勾選後就好了,具體操作很容易百度到。

如果出現缺少XX.dll 的錯誤,一般都是VC++的包沒裝好。重新安裝對應的VC++包就可以了

文中有什麼不對的或者碰到的問題,歡迎評論區留言交流。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章