Windows 安裝 MySQL8 和 MySQL5
參考鏈接:
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++包就可以了
文中有什麼不對的或者碰到的問題,歡迎評論區留言交流。