mysql 8.0不需要登錄直接更改登錄密碼
第一步:
以管理員身份運行命令行,輸入命令:net stop mysql,以停止MySQL服務
第二步:
設置跳過驗證,進入到mysql安裝目錄下的bin路徑,在mysql/bin/目錄下輸入命令:“mysqld --shared-memory --skip-grant-tables”,
(注意:一定要有–shared-memory,否則無法正常設置–skip-grant-tables並啟動mysql服務),
正常情況下,輸完這條命令,該命令行窗口應該卡住不動。
第三步:
無密碼登錄:新開一個CMD窗口,進入到mysql安裝目錄下的bin路徑,無需重復啟動mysql服務,在mysql/bin/目錄下輸入"mysql",
此時應該可以連接成功,作者嘗試的時候大多是卡在了這里,原因參照第二步。
第四步:
重置root密碼為空(注意:這里需先置為空密碼,否則無法登陸):在第三步的cmd窗口中輸入命令:update mysql.user set authentication_string='' where User = 'root'; 。
第五步:
退出所有命令行,重新登陸數據庫,(若顯示服務未啟動,需先啟動MySQL服務,輸入net start mysql)
使用如下命令重新修改root密碼:alter user 'root'@'localhost' identified by '123';。
注:如若出現ERROR 1045 (28000): Access denied for user 'ODBC'@'localhost' (using password: NO),則輸入 mysql -u root -p 回車
出現Enter password 繼續回車,因為你的初始密碼已經設置為空了。