Win10下mysql5.7和mysql8.0共存

一只桔子2233發表於2024-08-24

前言

需求:由於之前做的專案用的是mysql5.7,而新接的專案指定用mysql8,需要myql5.7和8同時存在執行。
前提:電腦已經安裝mysql5.7,先關閉mysql5.7的服務
安裝目錄:D:\Program\mysql-8.0.39
mysql5.7 C:\Program Files\MySQL\MySQL Server 5.7

下載

【參考部落格】 mysql執行兩個庫 mysql兩個版本共存

最新版本8.0下載連結:https://dev.mysql.com/downloads/mysql/

初始化my.ini檔案

解壓zip檔案到安裝目錄 D:\Program\mysql-8.0.39

  • 新建一個data空資料夾
  • 新建一個my.ini檔案,文字格式為ANSI,內容如下
[mysqld]
# 設定3306埠
port=3308
# 設定mysql的安裝目錄
basedir=D:\Program\mysql-8.0.39
# 設定mysql資料庫的資料的存放目錄
datadir=D:\Program\mysql-8.0.39\data
# 允許最大連線數
max_connections=200
# 允許連線失敗的次數。
max_connect_errors=10
# 服務端使用的字符集預設為
character-set-server=utf8mb4
# 建立新表時將使用的預設儲存引擎
default-storage-engine=INNODB
# 預設使用“mysql_native_password”外掛認證
#mysql_native_password
default_authentication_plugin=mysql_native_password
[mysql]
# 設定mysql客戶端預設字符集
default-character-set=utf8mb4
[client]
# 設定mysql客戶端連線服務端時預設使用的埠
port=3308
default-character-set=utf8mb4

注意:
mysqld和client的埠號不能和mysql5.7的衝突,basedir和datadir按實際路徑填寫

初始化MySQL80

在win10搜尋框搜尋cmd,右鍵以管理員身份執行
進入 D:\Program\mysql-8.0.39\bin目錄
輸入命令:

mysqld --defaults-file=D:\Program\mysql-8.0.39\my.ini --initialize --console

控制檯會有一行
[Note] [MY-010454] [Server] A temporary password is generated for root@localhost: dy8vn%Z<%gt<

** 注意:有的教程只輸入這個命令 mysqld --initialize --console 如果只是安裝mysql8是沒問題的,如果同時還存在一個mysql其他版本,在連結資料庫時會預設連結到之前的mysql5.7資料庫,導致一直出現密碼錯誤。**

注意:如果顯示error: Found option without preceding group in config file: D:\Program\mysql-8.0.39\my.ini at line: 1
不要慌,這是因為你的my.ini檔案編碼為utf-8編碼,用notepad該為ANSI編碼就OK了。

安裝Mysql服務

執行命令:

mysqld install MySQL80 --defaults-file=D:\Program\mysql-8.0.39\my.ini

執行命令後,window服務出現,它的執行檔案路徑為
"C:\Program Files\MySQL\MySQL Server 5.7\bin\mysqld" --defaults-file=D:\Program\mysql-8.0.39\my.ini MySQL80

注意:如果顯示The service already exists,說明目前還有mysql8這個服務,用 指令:sc delete mysql8 把它刪掉在重新安裝。

重要的一步:

win + R 輸入regedit,進入登錄檔
找到

計算機\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MySQL80

進入登錄檔將mysql8的,將 ImagePath修改為:

"D:\Program\mysql-8.0.39\bin\mysqld" --defaults-file=D:\Program\mysql-8.0.39\my.ini MySQL80

window服務頁面,MySQL80的可執行路徑,同步會變為該路徑

啟動Mysql8服務

在windows服務頁面啟動或 net start MySQL80

連線Mysql

密碼為上面初始化時候的密碼。連線名自己設定

修改密碼

用Navicat點選剛剛的連線

就會提示我們輸入新密碼

相關文章