30代半ばの事務職員がITエンジニアになった話

おおよそタイトルのとおり、30代半ばにしてITエンジニアのタマゴになってしまった会社員の話

Linux(Ubuntu)にいれたMySQLにWindowsのEclipseからアクセスする ~その2~

同じLANの中でつかっているLinux内の
MySQLに別のWindowsPCの
Eclipse環境からアクセスを試みます。

前回Eclipse側の設定をしましたが、
まだエラーがでているので
MySQLの設定を確認します。

MySQLの権限を確認


Eclipse側の設定を変更し
再度接続を試みるもエラー発生

ただエラーの内容が変わっていて

 Access deny なんちゃら

つまりアクセスが拒否されているので
MySQLの設定を確認



MySQL側の設定は
MySQLに外部ホストから接続できるように設定する – ABC Blog
を参考に

 192.168.1.xxx

のアドレスからの接続を許可する
ユーザー、user1を作成


が、訳もわからず
とりあえず手本どおりに
コマンドを入れていたため

 GRANT ALL PRIVILEGES ON 'client_data'.* TO 'user1'@'192.168.1.%' WITH GRANT OPTION

となっていた


実際の環境にはclient_dataという
スキーマはなく
そこになんでも操作可能!
な権限をつけても意味がなかった
というわけ


なのでこちらを実際のスキーマ

 GRANT ALL PRIVILEGES ON 'testdb'.* TO 'user1'@'192.168.1.%' WITH GRANT OPTION

に変更し
やっと接続成功

SSLの設定をFalseに


接続はできたものの
ワーニングメッセージが発生

WARN: Establishing SSL connection without server's identity verification is not recommended. According to MySQL 5.5.45+, 5.6.26+ and 5.7.6+ requirements SSL connection must be established by default if explicit option isn't set. 

どうやらMySQL5.5以降では
SSL通信をするかしないかを
明示しなければならないらしい


ワーニングなので
放っておいても接続はできるが
エラーにも詳しく書いてあるので

DriverManager.getConnection("jdbc:mysql://192.168.1.xxx/testdb?useSSL=false", "user1", "password");

と変更
ワーニングメッセージ解消