電腦本地安裝不同版本MySQL

2023-01-29 12:00:40

本地已經安裝了mysql5.7版本,想測試mysql8版本的用法,想在一臺電腦同時設定不同版本的mysql在不同埠號,看起來簡單,實現起來其實挺多坑的,總結下實戰經驗和大家分享下

一、下載安裝

二、設定

1、解壓縮,設定my.ini
從原來版本拷貝過來即可,改埠號以及dir

[mysqld]
port=3307
basedir=F:\mysql8\mysql-8.0.31-winx64
datadir=F:\mysql8\mysql-8.0.31-winx64\data
max_connections=200
max_connect_errors=10
character-set-server=utf8
default-storage-engine=INNODB
[mysql]
default-character-set=utf8

2、初始化資料庫,生成data目錄以及密碼

mysqld --defaults-file=F:\mysql8\mysql-8.0.31-winx64\my.ini --initialize --console

在這裡插入圖片描述
在這裡插入圖片描述
3、安裝MySQL8服務

mysqld install MySQL8 --defaults-file=F:\mysql8\mysql-8.0.31-winx64\my.ini

看到Service successfully installed.說明已經成功,這時候我們可以看到服務多了一個MySQL8
在這裡插入圖片描述
4、修改登入檔ImagePath值
win+r快捷鍵,然後輸入regedit,會發現多了一個MySQL8,修改ImagePath的值為

F:\mysql8\mysql-8.0.31-winx64\bin\mysqld.exe --defaults-file=F:\mysql8\mysql-8.0.31-winx64\my.ini MySQL8

在這裡插入圖片描述

三、驗證

1、啟動服務

net start mysql8

PS F:\mysql8\mysql-8.0.31-winx64\bin> net start mysql8
MySQL8 服務正在啟動 ..
MySQL8 服務已經啟動成功。

2、驗證

mysql -P 3307 -u root -p,回車輸入密碼,可以看到我們已經登入上我們的mysql8版本

在這裡插入圖片描述

mysql -P 3306 -u root -p,回車輸入密碼,可以看到我們已經登入上我們的mysql5.7版本

在這裡插入圖片描述

四、總結

1、本地計算機上的MySQL8服務啟動後停止

在這裡插入圖片描述
解決:

  • 保證兩個版本的mysql在不同目錄
  • 安裝mysql8服務的時候,指定讀取的my.ini(mysqld install MySQL8 --defaults-file=F:\mysql8\mysql-8.0.31-winx64\my.ini)
  • data目錄不能直接從原來copy過來,需要修改,待研究

2、ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.

執行命令,修改密碼即可

alter user user() identified by 「forlan」;

3、指定埠號登入,版本錯誤問題

mysql5.7,埠3306 mysql8,埠3307
在這裡插入圖片描述
原因:登入檔中的MySQL的ImagePath值設定錯誤
解決:修改後記得重新啟動服務
在這裡插入圖片描述

4、刪除服務

sc delete mysql8