質問: 2Msql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES ========================================================
回答: 情報の追記、ありがとうございます。 以下を確認してみてください。 ##### MySQLは正しくインストールされ、起動しているか? コマンドラインからMySQLにログインできれば、問題ないでしょう。 ##### "database"というスキーマが作成済みか? URLの末尾の"database"は、ログインするスキーマの名前を指定します。 "database"は、正しいスキーマ名ですか? ##### ホスト名、ユーザー名とパスワード、接続ポート "root@localhost"という名前の、パスワード無しのユーザーは作成済みですか? また、接続ポートは3306から変更していませんか? コマンドラインから ``` mysql -uroot -hlocalhost -P3306 database ``` などと実行して、ログインできるか確認してみてください。 (パスを通していなければ、"mysql"部分はフルパスで指定してください) ちなみに、 > > DB接続部分のソースコードが必要であることをMotoki様からのお言葉で初めて知りました > > > ソースコードが必要なのは、JavaプログラムからMySQLに接続する場合です。 先ほどの時点では、EclipseとJavaプログラム、どちらからの接続を試みているのか確証が持てなかったので、そのように質問させていただきました。 問題の切り分けのため、以下の手順を試してみてください。 Eclipseで適当なプロジェクトを作成し、以下のリンクの 「ライブラリのインポート」 という項を参考に、`mysql-connector-java-5.1.8-bin`ファイルをクラスパスに追加してください。 作成したプロジェクトのデフォルトパッケージ("パッケージ"欄を空欄にする)内に`Main`という名前のクラスを作成してください。 作成したクラスに以下のコードをそのままペーストしてください。 ``` import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; public class Main { public static void main(String[] args) throws SQLException { Connection connection = DriverManager .getConnection("jdbc:mysql://localhost:3306/database?user=root&password=【正しいパスワード】"); Statement statement = connection.createStatement(); ResultSet resultSet = statement.executeQuery("SELECT 1"); while (resultSet.next()) { System.out.println(resultSet.getString(1)); } } } ``` "【正しいパスワード】"部分は、ご自分の設定に合わせて変更してください。 作成したプロジェクトを実行してみてください。 エラーメッセージが表示されたら、それを全て、質問欄に追記してください。 もし、エラーなく正常に実行できた(コンソールに"1"と表示される)なら、ソースコードからは正常に接続できる、ということになるので、WTPの、MySQLの接続設定とは別の原因で問題が起きている可能性があります。 検証ありがとうございます。 提示いただいたエラーメッセージで検索したところ、以下の現象と同様ではないかと思います。 ですので、MySQLの設定ファイルから`skip-networking`というオプションをすべてコメントアウト(行の先頭に`#`を追加)し、MySQLを再起動して、もう一度試してみてください。 MySQLの設定ファイルの場所は、お使いのマシンがWindowsなら以下を、 Macなら以下を参考に探してみてください。 上のリンクにあるように設定ファイルはいくつかありますので、全ての設定ファイルから該当のオプションをコメントアウトするようにしてください。 正しく設定できたか確認するために、MySQLを再起動後、MySQLにログインして以下のSQLを実行してください。 ``` SHOW VARIABLES lIKE '%networking%'; ``` 以下のように表示されたなら、正しく設定できています。 ``` +-----------------+-------+ | Variable_name | Value | +-----------------+-------+ | skip_networking | OFF | +-----------------+-------+ 1 row in set (0.00 sec) ```