轉載連接(解決辦法,成功):https://www.cnblogs.com/longsanshi/p/9089245.html#top
參考鏈接():
https://stackoverflow.com/questions/6865538/solving-a-communications-link-failure-with-jdbc-and-mysql這個沒用上,但是寫得很好
最終解決辦法是用下面的方法成功連接mysql,導出數據庫,重新安裝數據庫到非系統盤。
錯誤如下, Access denied for user 'root'@'localhost' (using password
關掉mysql服務,重新啟動
如果不行,那應該就是密碼被改了,密碼不對應
1.以系統管理員身份運行cmd.
2.查看mysql是否已經啟動,如果已經啟動,就停止:net stop mysql.
如果保存就在cmd下執行services.msc,找到mysql的服務停掉
3.切換到MySQL安裝路徑下:D:\WAMP\MySQL-5.6.36\bin;如果已經配了環境變量,可以不用切換了。
4.在命令行輸入:mysqld -nt --skip-grant-tables
5.重啟以管理員身份運行一個cmd,輸入:mysql -uroot -p,Enter進入數據庫。
6.如果不想改密碼,只是想看原來的密碼的話,可以在命令行執行這個語句
select
host,
user
,
password
from
mysql.
user
;//即可查看到用戶和密碼
7.如果要修改密碼的話,在命令行下 依次 執行下面的語句
use mysql
update
user
set
password
=
password
(
"new_pass"
)
where
user
=
"root"
;//
'new_pass'
這里改為你要設置的密碼
flush
privileges
;
exit
如果報錯 :
host is not allowed to connect to this MySQL server
- 在裝有MySQL的機器上登錄MySQL mysql -u root -p密碼
- 執行
use mysql;
- 執行
update user set host = '%' where user = 'root';
這一句執行完可能會報錯,不用管它。 -
執行
FLUSH PRIVILEGES;
經過上面4步,就可以解決這個問題了。
注: 第四步是刷新MySQL的權限相關表,一定不要忘了,我第一次的時候沒有執行第四步,結果一直不成功,最后才找到這個原因。