前言
需求:由於之前做的專案用的是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點選剛剛的連線
就會提示我們輸入新密碼