本地已經安裝了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版本
解決:
- 保證兩個版本的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”;
mysql5.7,埠3306 mysql8,埠3307
原因:登錄檔中的MySQL的ImagePath值設定錯誤
解決:修改後記得重新啟動服務
sc delete mysql8