1045:Access denied for user ‘root’@localhost (using password: YES)
解決辦法如下:
(1)找到mysql安裝目錄下的my.ini或者是my-default.ini文件,用記事本打開之後,添加skip-grant-tables(不使用密碼登錄mysql),保存之後退出。
(2)使用管理員權限打開cmd窗口,進入mysql安裝目錄中的bin文件夾,停止mysql服務(net stop mysql),開啓mysql服務(net start mysql),使配置生效。
(3)在bin目錄下,輸入mysql -u root -p
不用輸入密碼,直接enter就可以進入數據庫了。
(4)手動修改用戶root的權限,使其可以設置權限
執行命令:UPDATE mysql.user SET Grant_priv=‘Y’, Super_priv=‘Y’ WHERE User=‘root’;
執行命令:flush privileges; 刷新緩衝區。
執行命令:grant all on . to ‘root’@‘localhost’; 重新給用戶root賦權。
執行命令: flush privileges; 重新刷新緩衝區。
這個時候再重新啓動mysql服務就可以在mysql數據庫只能夠查看root用戶已經擁有所有的權限了。
(5)修改密碼
進入mysql數據庫,mysql -u root -p 輸入密碼之後就可以進入了。執行命令:
alter user ‘root’@‘localhost’ identified by ‘密碼’;
之後再次刷新緩衝區,重啓mysql服務就可以使用新設置的密碼登錄了。