ラズベリーパイがMySQLに接続不可(メールより転載)

MZ Platformとは 掲示板 MZプラットフォームユーザー会掲示板 ラズベリーパイがMySQLに接続不可(メールより転載)

10 件の投稿を閲覧中 - 1 ~ 10 件(全 18 件)
  • 著者
    投稿
  • #6730
    MZPlatformユーザー会
    サイト管理者

    ラズベリーパイ上でMZアプリを起動して、Windows PC上のMySQLに接続して使用しています。
    ある時点から、Raspberry Pi OSをアップグレード(apt upgrade)すると接続できなくなる問題が生じています。解決方法はありますでしょうか。

    (参考情報)
    接続可能な環境のJavaバージョン
    openjdk version “1.8.0_212”

    接続不可の環境のJavaバージョン
    openjdk version “1.8.0_312”

    #6732
    MZPlatformユーザー会
    サイト管理者

    接続可の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

    #7079
    四国産学官_A
    一般参加者

    Windows上では、データベースアクセスチュートリアルの図4.データベース接続失敗のエラーは、出ないのですが、ラズベリーパイ上で、同じファイルを動かすと、エラーが出ます。ドライバ
    名、サーバ名、ユーザ名、パスワード、データベース名は、同じ状態です。“データベース名?useUnicode=true&characterEncoding=SJIS”のように記述。?enabledTLSProtocols=TLSv1.2を追加しても、エラーが出ます。対処方法を教えて下さい。

    添付ファイル:
    #7081
    MZPlatformユーザー会
    サイト管理者

    似たようなトピックとお考えかもしれませんが、ご自身の作成したトピックでない場合は別トピックにしていただく方が助かります。(今回はこのままで良いです)

    まずは状況を確認させてください。

    Raspberry Pi上でデータベースアクセスチュートリアルのアプリを実行すると、チュートリアルの図4と同一のエラーが出るということでしょうか。もし詳細なメッセージが異なる場合はその画像や正確な文字列をお知らせください。必要に応じてログファイルをお送りいただけると参考になります。

    Windows上では問題なく実行できているとのことですので、Windows上ではMySQL等のインストールと設定は問題ないということですね。Raspberry Pi上でもMySQL等のインストールと設定は完了していると考えてよろしいでしょうか。また、MySQLを使用しないMZアプリは正常に実行できているでしょうか。

    #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….)とのメッセージ。

    #7084
    MZPlatformユーザー会
    サイト管理者

    エラーメッセージの詳細をお知らせいただきありがとうございます。
    このメッセージは、想定するMySQLサービスが応答せずタイムアウトしたときに出力される場合が多いです。例えば、接続先指定の誤りや、サーバPCまたはMySQLサービスが起動していない場合が挙げられます。

    まずはサーバPCおよびMySQLサービスが起動していることをご確認ください。

    続いて、接続先は別PCのはずがMZアプリで下記のようにローカル接続指定をしている場合があります(localhostではなくIPアドレスの指定が必要)
    jdbc:mysql://localhost/

    また、接続先の指定とサービス起動が正常でも、サーバPC側でファイアウォールが接続をブロックしている場合も考えられます。

    いずれも、別の独立したWindowsPCから実行して接続できれば異なる原因ということになりますので、再度ご確認いただけますでしょうか。

    もしそうであれば、Raspberry PiからサーバPCへのネットワーク接続が不可能な状態と考えられます。同一のネットワークに接続しているかご確認ください。

    #7087
    四国産学官_A
    一般参加者

    GWの休みが入り、連絡が遅くなり、申し訳ございません。
    1.サーバーPCがスリープすると、WindowsPCからでも、DBへアクセスできなくなりました。
    2.別のWindowsPC(2台)から、問題なく接続することを確認しました。
    3.サーバーPCは、MZ講習資料DB編.pdf p.15-の通りremote80.bat を実行済みです。
    4.同一ネットワーク接続を確認後も、Raspberry Piから、DBへのアクセスは出来ませんでした。

    #7089
    四国産学官_A
    一般参加者

    pi@raspberrypi:~ $ javac -version
    javac 1.8.0_65
    pi@raspberrypi:~ $
    こちらが影響していますか?

    #7090
    MZPlatformユーザー会
    サイト管理者

    ご回答ありがとうございます。

    別の独立したWindowsPCから実行して接続できているので、サーバPC側のサービス起動やファイアウォール設定の問題ではないようです。

    一方、Raspberry PiからサーバPCへのネットワーク接続が本当にできているかはまだわかりません。また、PDFの最後に書かれた内容も気になるところです。接続設定画面と異なる状態がアプリ画面に表示されているように見えます。もし本当に途中まで情報が取得できているのであれば、タイムアウト時間の設定が短いという可能性もあります。

    やはり、ログファイルの内容を調査していただけますでしょうか。
    Windowsでも同様ですが、MZ Platformのインストール先にあるlogフォルダの中に、テキスト形式でPlatform***.logファイルがあります。***のところが曜日を表すアルファベット3文字になります。エラーが発生したときのログファイルの出力を見たいので、ファイル添付していただけますでしょうか。ZIPファイルにまとめた方が良いかもしれません。

    ログファイルの中身を見ても、やはり接続できなかったことしか記録されていない場合は、Raspberry Pi側の環境設定に問題があるかもしれません。Javaのバージョンはお知らせいただきましたが、JDBCドライバの配置先とそのバージョン(ファイル名)もお知らせいただけますでしょうか。

    よろしくお願いします。

    #7091
    四国産学官_A
    一般参加者

    ログファイルをZIPファイルにまとめたものを添付致します。

    ファイル検索で、「JDBC」を検索しましたが、ヒットしませんでした。

    以上、宜しくお願い致します。

    添付ファイル:
10 件の投稿を閲覧中 - 1 ~ 10 件(全 18 件)
  • このトピックに返信するには、ログインしてください。