MySQL WorkbenchでSSHの不具合で接続できない場合の対処法
- 働き方
- 2023年7月7日
MySQL Workbenchで「Standard TCP/IP over SSH」で、DBに接続する際に「外部コンポーネントが例外をスローしました」と表示されてしまい、接続できない現象が発生しました。最終的な原因としては、Windows のユーザー名に全角(日本語)を使っている場合に起こってしまうエラーになります。
Windows のユーザー名に日本語を使っていると「known_hosts」を保存する際に、参照するパスに全角(日本語)が入ってしまい、正常に保存出来ずに不具合が発生してしまいます。ログインユーザー名は、なかなか変更することは難しいものですので、別の対処法で回避しましょう。今回は、その流れを紹介します。
MySQL Workbenchで接続できない現象
MySQL Workbenchのバージョンは8.0.33になります。「Standard TCP/IP over SSH」の接続方法で設定を進め、DBに接続をしようとすると「Could not connect the SSH Tunnel」と表示されます。これは初めてSSHで接続する際に表示されるものですので「OK」をクリックして進めましょう。
すると「外部コンポーネントが例外をスローしました」と表示されて、接続が出来ません。再度、接続を試してみても、同じように「Could not connect the SSH Tunnel」が表示されて、DBに接続することが出来ない現象が発生しました。
パスに全角が入っていることが原因
色々と確認してみると、どうやら「known_hosts」を参照する際に、パスに全角が入っていることが原因のようです。ただ通常は、MySQL Workbenchが自動的に、日本語のフォルダをエンコードして、そちらに「known_hosts」が保存されます。
それが、今回のようにWindowsのログインユーザー名に全角(日本語)が使われていると、同じ階層にエンコードしたフォルダを作成することが出来ずに、今回のようなエラーが発生してしまうようです。
「known_hosts」の保存先を変更
「known_hosts」の保存先は「C:\user(ユーザー)\[ユーザー名]\.ssh\known_hosts」になります。その為、全角のユーザー名を回避できるような階層に、known_hostsをコピーしましょう。
例えば、「C:」ドライブの直下に「ssh」というようなフォルダを作成し、その中にknown_hostsを配置(コピー)します。パスとしては「C:\ssh\known_hosts」のようになります。そして、MySQL Workbenchの設定を変更します。
MySQL Workbenchの設定を変更
MySQL Workbenchを起動したら「Edit」から「Preference…」をクリックします。
設定画面が表示されますので、左のメニューから「SSH」を選択して、「Path to SSH known hosts file:」の項目に「C:\ssh\known_hosts」を入力しましょう。(こちらのパスは、ご自身で「known_hosts」を配置した階層を入力します)
これで「OK」をクリックしたら完了です。
DBに接続をしようとすると「Could not connect the SSH Tunnel」が表示されるので「OK」をクリックしたら、DBに正常に接続出来るようになっていると思います。
まとめ
システムに携わっていると、全角が入っているとエラーが発生することはよくあります。その為、Windowsのユーザー名なども全角を使わないようにしておくと安心かもしれませんね。
Flashの制作にハマり独学で習得。その後、都内のWEB制作会社にて、大手自動車メーカーや大手カード会社など、様々な制作を経験する。現在は、デザインだけでなく、WordPressのカスタマイズやSEOなど、制作全般に携わる。好きなものは、ブログ、テニス、ガジェット、節約
関連記事
CONTACTお問い合わせ
システム開発やWEBサイト制作についてのご相談、お見積のご依頼などは、下記の窓口にて承ります。
まずはお気軽にお問い合わせください。お問い合わせはEメール・お電話にて承ります。
03-6413-7735受付時間/9時~18時(土日祝 定休)
- 制作のお問い合わせはこちら