javaでMySQLを扱うために、JDBCを使っています。
package example; import java.sql.*; public class SampleDb030 { public static void main(String[] args) { Connection con = null; try { // JDBCドライバのロード - JDBC4.0(JDK1.6)以降は不要 Class.forName("com.mysql.jdbc.Driver").newInstance(); // MySQLに接続 con = DriverManager.getConnection("jdbc:mysql://localhost:8888/example", "root", "root"); System.out.println("MySQLに接続できました。"); } catch (InstantiationException | IllegalAccessException | ClassNotFoundException e) { System.out.println("JDBCドライバのロードに失敗しました。"); } catch (SQLException e) { System.out.println("MySQLに接続できませんでした。"); } finally { if (con != null) { try { con.close(); } catch (SQLException e) { System.out.println("MySQLのクローズに失敗しました。"); } } } } }
この
con = DriverManager.getConnection("jdbc:mysql://localhost:8888/example", "root", "root");
finally {・・・}
を取り除いた状態で動作確認すると、接続できましたと表示されるのでクラスPATHは問題なさそうですが、上記のコードを付け足すと2分後くらいに接続できませんでしたとなります。
問題は
con = DriverManager.getConnection("jdbc:mysql://localhost:8888/example", "root", "root");
にあると思うのですが、
DriverManager.getConnection("jdbc:mysql://localhost:8888/DB名", "ユーザー名", "パスワード");
であってますよね?
MAMPなのでPWはrootの筈です。
XAMPPだとターミナルで
mysqlと入力すればログイン出来ますけど
MAMPだと
mysql -u root -p
で、PW聞かれるのでrootを入力しないとログイン出来ないのは毎日やっているので分かります。
どこがおかしいのでしょうか?
追記
どこかの記事でMAMPのSQLportは8889と書いていたので8889にしたら接続できましたが、MAMPの設定から確かめてみるとありました。
これのことだと思いますが、これは間違った確認方法でこの8889は使ってはいけないのでしょうか?
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/09/07 07:36
退会済みユーザー
2016/09/07 07:37
退会済みユーザー
2016/09/07 08:07
2016/09/07 08:37
退会済みユーザー
2016/09/07 08:55 編集
退会済みユーザー
2016/09/07 08:57
2016/09/07 13:29
退会済みユーザー
2016/09/07 13:53 編集
2016/09/07 14:18