在使用cmd命令連接到MySQL時,有時會遇到1045錯誤,表示連接被服務器拒絕,這是由于用戶名或密碼錯誤或者沒有設置權限所導致的。
C:\Users\Administrator>mysql -u root -p Enter password: ******* ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
出現這個錯誤的原因是輸入的用戶名或密碼錯誤。這時需要檢查輸入的信息是否正確,如果不確定可以嘗試使用默認的用戶名和密碼進行連接:
C:\Users\Administrator>mysql -u 用戶名 -p 密碼
如果還是連接不上,可以考慮使用root用戶登錄,并查看權限是否正確設置。通過以下命令進行登錄:
C:\Users\Administrator>mysql -u root -p
連接成功后,可以使用以下命令查看當前用戶的權限:
mysql>show grants; +---------------------------------------------------+ | Grants for root@localhost | +---------------------------------------------------+ | GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' | +---------------------------------------------------+ 1 row in set (0.00 sec)
如果權限設置不正確,可以使用以下命令重新設置:
mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY 'password';
其中,password為設置的新密碼。
如果以上方法仍然不能解決問題,可以檢查MySQL服務是否已經啟動,以及服務器的防火墻是否開放了連接端口。
C:\Users\Administrator>netstat -an | findstr "3306" TCP 0.0.0.0:3306 0.0.0.0:0 LISTENING
以上命令表示3306端口已經被監聽,如果沒有輸出或者顯示其他端口,則需要在防火墻中開放該端口,或者檢查MySQL服務是否正確啟動。