昨天晚上就為了連個資料庫,搞到2點都沒有連上,一直出現這個問題
java.sql.SQLException: Access denied for user 'root'@'localhost' (using password: YES)
網上網友的解決方案頁各有千秋
記憶裡大概有3種吧,一種認為是要修改root的密碼,一種認為是遠端連線的許可權被限制了,一種是通過寫一個檔案在Dos裡面運行實現。這些方法是針對某些情況的。
我的這個問題,就是一個本地的mysql。java編程通過com.mysql.jdbc.diver串連資料庫的簡單問題。嘗試了網上的方法都沒有用,最後實在是弄不下去了,感覺資料庫有問題,我用的是網上下載的綠色安裝版,運行個指令碼就好了,可能是mysql在我的系統裡環境沒有設定好,雖然通過mysql的工具能連上,但是編程就會出現問題。
今天上午我直接沖網上下了個5.5.20.把之前資料庫刪掉(徹底刪除乾淨),直接安裝mysql-5.5.20-win32.msi這個檔案,然後預設密碼我就直接沒設。通過用戶端
顯示可以進入,那麼ok.我直接通過jdbc語句測試。當然這裡需要分步考慮。
1 jdbc驅動是否正確
2 才能看資料庫連接是否正確
代碼如下:
public static void main(String args[]){String url = "jdbc:mysql://localhost/mysql";String driver = "com.mysql.jdbc.Driver";try{Class.forName(driver);}catch(Exception e){System.out.println("無法載入驅動");}try {Connection con = DriverManager.getConnection(url,"root","");if(!con.isClosed())System.out.println("success");} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}}}
最終終於串連成功了,反正以後遇到問題,網上搜的要綜合個人的問題,全面思考,不能一味的用別人的方法。快速學習,並解決問題使我需要的能力!太開心了!!!