メモ > 技術 > データベース: MySQL > HeidiSQL
HeidiSQL
※Windows用のデータベース管理ツール
Navicatは有料だし、MySQL Workbenchは日本語化に難があるし
…だが、HeidiSQLなら問題なく使えそう
「HeidiSQL」オープンソースのデータベース管理ソフト - 窓の杜
https://forest.watch.impress.co.jp/library/software/heidisql/
以下、SSHトンネルで接続するためのメモ
「plinkの取得」「puttygenの取得」「pemをppkに変換」
という作業が必要なので、それぞれ記載する
HeidiSQL SSH tunnel経由でMySQL(MariaDB)に接続する - Symfoware
https://symfoware.blog.fc2.com/blog-entry-1942.html
■plinkの取得
以下から plink.exe の64bit版をダウンロード
Download PuTTY: latest release (0.74)
https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html
手動で以下に配置した
C:\Program Files\plink\plink.exe
■puttygenの取得
以下から puttygen.exe の64bit版をダウンロード
Download PuTTY: latest release (0.74)
https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html
手動で以下に配置した
C:\Program Files\puttygen\puttygen.exe
■pemをppkに変換
PuTTYgenを使って変換できる
「Load」ボタンからpemファイルを読み込み、その後「SavePrivateKey」ボタンからppkファイルを出力する
(「SavePublicKey」では無いので注意)
pem ⇒ ppk 変換 - Qiita
https://qiita.com/naka46/items/3297242f3386b5f9e3dc
id_rsa⇒pem⇔ppk 相互変換 | Punio Kid Works
http://www.puniokid.com/tips/linux/69/
■HeidiSQL上での設定
※plink.exeなどを設定した後の汎用的な手順
※ユーザ名などは例
「設定」タブで以下を設定
ネットワーク種別: MySQL(SSH tunnel)
ホスト名: localhost
ユーザー: webmaster
パスワード: abcd1234
ポート: 3306
データベース: test
「SSHトンネル」タブで以下を設定
SSHホスト+ポート: 203.0.113.1 + 10022
ユーザー名: ssh-user
パスワード: (空欄)
秘密鍵ファイル: Example.ppk
■トラブル(未解決)
新規に接続しようとしたとき、以下のエラーで接続できないことがあった
PLINKは、予期せず終了しました。コマンドライン:
C:\Program Files\plink\plink.exe -ssh ec2-user@203.0.113.1 -P 10022 -i "C:\Users\refirio\SSH\test\test.ppk" -N -L 3307:production.xxxxx.ap-northeast-1.rds.amazonaws.com:3306
コマンドプロンプトから直接実行してみると、以下のエラーが表示された
C:\Users\refirio>C:\"Program Files"\plink\plink.exe -ssh ec2-user@203.0.113.1 -P 10022 -i "C:\Users\refirio\SSH\test\test.ppk" -N -L 3307:production.xxxxx.ap-northeast-1.rds.amazonaws.com:3306
Using username "ec2-user".
FATAL ERROR: No supported authentication methods available (server sent: publickey,gssapi-keyex,gssapi-with-mic)
エラーメッセージをもとに調べてみると、authorized_keys のパーミッション問題の可能性はありそう
問題の解決方法 SSHの鍵認証接続を題材に - Qiita
https://qiita.com/szly/items/ef057727e8b6d227ed29
…だが、調べてみるとパーミッションに問題は無かった
またそもそも、このパーミッションが不正な場合はSSH接続自体できないはずだが、Poderosaで接続はできた
試しにHeidiSQLではなくMySQL Workbenchなら、すんなり接続できた
原因不明だが、HeidiSQLの問題で特定環境での接続に対応できないなどあるのかもしれない