MZ Platformとは › 掲示板 › MZプラットフォームユーザー会掲示板 › ラズベリーパイがMySQLに接続不可(メールより転載)
- このトピックは、 17 返信、 2 投稿者 です。最終更新日: 1 年, 7 ヶ月 前 四国産学官_A
-
著者投稿
-
2022年7月8日 at 2:59 PM #6730MZPlatformユーザー会サイト管理者
ラズベリーパイ上でMZアプリを起動して、Windows PC上のMySQLに接続して使用しています。
ある時点から、Raspberry Pi OSをアップグレード(apt upgrade)すると接続できなくなる問題が生じています。解決方法はありますでしょうか。(参考情報)
接続可能な環境のJavaバージョン
openjdk version “1.8.0_212”接続不可の環境のJavaバージョン
openjdk version “1.8.0_312”- このトピックは編集されました。 2 年, 5 ヶ月 前 by MZPlatformユーザー会
2022年7月8日 at 3:07 PM #6732MZPlatformユーザー会サイト管理者接続可のOpenJDKから接続不可のOpenJDKにアップデートされたことで、TLS1.0と1.1が無効化され、デフォルトがTLS1.3になったことが原因のようです。なお、MySQL8.0.16以降では問題が起きない可能性がありますので、そちらのアップデートもご検討いただけますでしょうか。
参考:リリースノート 8u292-b10 (GA), April 20th 2021
https://mail.openjdk.org/pipermail/jdk8u-dev/2021-April/013680.html
上記リンク先の「JDK-8256490: Disable TLS 1.0 and 1.1」MZアプリ側からMySQLサーバ側へのJDBC接続時のTLSバージョンの不整合が起きるようで、明示的にTLS1.2を使用した接続を指定することで回避したという事例をネット検索で発見しました。ただし、TLS1.2には脆弱性が含まれますので、ご使用の場合はご注意ください。
回避方法は、JDBC接続で下記のように指定している部分を、
jdbc:mysql://localhost/mzdb
下記のように変更するとうまくいくと思います。
jdbc:mysql://localhost/mzdb?enabledTLSProtocols=TLSv1.2スマート製造ツールキットのサンプルアプリであれば、mzapp.iniの下記の記述
db.db=jdbc:mysql://localhost/mzdb
を、下記のように変更すれば回避できます。
db.db=jdbc:mysql://localhost/mzdb?enabledTLSProtocols=TLSv1.2- この返信は、 MZPlatformユーザー会 により、 2 年, 5 ヶ月 前 に編集されました。
2023年4月21日 at 4:16 PM #7079四国産学官_A一般参加者Windows上では、データベースアクセスチュートリアルの図4.データベース接続失敗のエラーは、出ないのですが、ラズベリーパイ上で、同じファイルを動かすと、エラーが出ます。ドライバ
名、サーバ名、ユーザ名、パスワード、データベース名は、同じ状態です。“データベース名?useUnicode=true&characterEncoding=SJIS”のように記述。?enabledTLSProtocols=TLSv1.2を追加しても、エラーが出ます。対処方法を教えて下さい。添付ファイル:
2023年4月24日 at 9:10 PM #7081MZPlatformユーザー会サイト管理者似たようなトピックとお考えかもしれませんが、ご自身の作成したトピックでない場合は別トピックにしていただく方が助かります。(今回はこのままで良いです)
まずは状況を確認させてください。
Raspberry Pi上でデータベースアクセスチュートリアルのアプリを実行すると、チュートリアルの図4と同一のエラーが出るということでしょうか。もし詳細なメッセージが異なる場合はその画像や正確な文字列をお知らせください。必要に応じてログファイルをお送りいただけると参考になります。
Windows上では問題なく実行できているとのことですので、Windows上ではMySQL等のインストールと設定は問題ないということですね。Raspberry Pi上でもMySQL等のインストールと設定は完了していると考えてよろしいでしょうか。また、MySQLを使用しないMZアプリは正常に実行できているでしょうか。
2023年4月25日 at 8:56 AM #7082四国産学官_A一般参加者1.MySQLは、WindowsPC上で稼働させ、localhostでなく、固定IPで接続。
2.ルーター経由で、別のWindowsPCから同じアプリでは接続確認済み。
3.Raspberry Pi上でMySQLを使用しないMZアプリは正常に実行できている。
4.Raspberry Pi上の設定等は、添付したファイルのコマンドで調べた程度。
5.ログの取得方法、スクリーンコピー等、やり方が判らず、苦戦しています。
6.図4と同一のエラーではなく、Exception: Communcations link failure. The last packet successfully recieved from the serv….)とのメッセージ。2023年4月25日 at 8:17 PM #7084MZPlatformユーザー会サイト管理者エラーメッセージの詳細をお知らせいただきありがとうございます。
このメッセージは、想定するMySQLサービスが応答せずタイムアウトしたときに出力される場合が多いです。例えば、接続先指定の誤りや、サーバPCまたはMySQLサービスが起動していない場合が挙げられます。まずはサーバPCおよびMySQLサービスが起動していることをご確認ください。
続いて、接続先は別PCのはずがMZアプリで下記のようにローカル接続指定をしている場合があります(localhostではなくIPアドレスの指定が必要)
jdbc:mysql://localhost/また、接続先の指定とサービス起動が正常でも、サーバPC側でファイアウォールが接続をブロックしている場合も考えられます。
いずれも、別の独立したWindowsPCから実行して接続できれば異なる原因ということになりますので、再度ご確認いただけますでしょうか。
もしそうであれば、Raspberry PiからサーバPCへのネットワーク接続が不可能な状態と考えられます。同一のネットワークに接続しているかご確認ください。
2023年5月8日 at 5:34 PM #7087四国産学官_A一般参加者GWの休みが入り、連絡が遅くなり、申し訳ございません。
1.サーバーPCがスリープすると、WindowsPCからでも、DBへアクセスできなくなりました。
2.別のWindowsPC(2台)から、問題なく接続することを確認しました。
3.サーバーPCは、MZ講習資料DB編.pdf p.15-の通りremote80.bat を実行済みです。
4.同一ネットワーク接続を確認後も、Raspberry Piから、DBへのアクセスは出来ませんでした。2023年5月8日 at 6:51 PM #7089四国産学官_A一般参加者pi@raspberrypi:~ $ javac -version
javac 1.8.0_65
pi@raspberrypi:~ $
こちらが影響していますか?2023年5月8日 at 8:43 PM #7090MZPlatformユーザー会サイト管理者ご回答ありがとうございます。
別の独立したWindowsPCから実行して接続できているので、サーバPC側のサービス起動やファイアウォール設定の問題ではないようです。
一方、Raspberry PiからサーバPCへのネットワーク接続が本当にできているかはまだわかりません。また、PDFの最後に書かれた内容も気になるところです。接続設定画面と異なる状態がアプリ画面に表示されているように見えます。もし本当に途中まで情報が取得できているのであれば、タイムアウト時間の設定が短いという可能性もあります。
やはり、ログファイルの内容を調査していただけますでしょうか。
Windowsでも同様ですが、MZ Platformのインストール先にあるlogフォルダの中に、テキスト形式でPlatform***.logファイルがあります。***のところが曜日を表すアルファベット3文字になります。エラーが発生したときのログファイルの出力を見たいので、ファイル添付していただけますでしょうか。ZIPファイルにまとめた方が良いかもしれません。ログファイルの中身を見ても、やはり接続できなかったことしか記録されていない場合は、Raspberry Pi側の環境設定に問題があるかもしれません。Javaのバージョンはお知らせいただきましたが、JDBCドライバの配置先とそのバージョン(ファイル名)もお知らせいただけますでしょうか。
よろしくお願いします。
2023年5月9日 at 2:36 PM #7091四国産学官_A一般参加者ログファイルをZIPファイルにまとめたものを添付致します。
ファイル検索で、「JDBC」を検索しましたが、ヒットしませんでした。
以上、宜しくお願い致します。
添付ファイル:
-
著者投稿
- このトピックに返信するには、ログインしてください。