windows安裝MySQL5.7和MySQL8.0錯誤解決!!!

因爲MySQL5和MySQL8之間語法會有差距,所以我是在電腦本身有5的版本後,需要再安裝8。
以下記錄了關於安裝MySQL8.0的幾個問題,主要是因爲目前因爲版本不一樣很多語法設置都和之前的不同了。

主要參考的了以下文章:
windows環境下:安裝MySQL8.0;同時安裝MySQL5.7
windows上同時安裝兩個版本的mysql數據庫5.7和8.0

ERROR 1045 (28000): Access denied for user ‘root’@‘localhost’ (using password:YES)

因爲既然是既然是密碼錯誤,那麼就先跳過密碼驗證的步驟:

①首先,停止MySQL服務

net stop MySQL8.0     #MySQL8.0:自己的服務名

②在my.ini文件中添加語句

以記事本打開my.ini,在[mysqld]下面添加

skip-grant-tables
shared-memory

(ps:要在port下一行,之前直接在mysqld下面添加,一直報錯)
在這裏插入圖片描述
(注:skip-grant-tables:不啓動grant-tables授權表,作爲啓動參數的作用:MYSQL服務器不加載權限判斷,任何用戶都能訪問數據庫)

③重新初始化data文件夾
在關閉數據庫(net stop MySQL8.0)後,刪除本來的data文件夾,然後在管理員cmd,切換到數據庫所在文件下,運行以下語句,重新生成data文件夾。

mysqld --initialize --user=mysql --console

④無密碼登陸數據庫後,修改密碼
啓動數據庫8.0服務

net start MySQL8.0

無密碼登陸數據庫(可以直接回車登陸)

mysql -uroot -p

下面是登陸成功的顯示:
在這裏插入圖片描述
⑤修改密碼

use mysql;
flush privileges;
alter user 'root'@'localhost' identified by '新密碼';

(注意:如果是以前的MySQL版本,常使用password函數來進行修改密碼mysql> update mysql.user set password=password(‘123456’) where user=‘root’;
但是MySQL8之後,沒有了password字段和password()函數,所以不能使用上面的修改密碼的方法。)

記得要註銷剛剛my.int裏添加的語句哦!!!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章