こんにちは、Tamagoです。
最近、Flask(Python)を XSERVER 上で動かしてあれこれやってみようかなということで、いろいろ調査をしたのでアウトプットしていきたいと思います。
この記事では、 XSERVERのMySQLにGUIのツール(Workbench)を使って接続するまでの手順を初心者でもわかるように出来るだけ多くの画像を使って詳しく紹介していきたいと思います。
XSERVERの登録
まず初めに、XSERVERを登録していない人は登録してください。
エックスサーバー
接続情報の取得
最終的に必要な情報は以下の8個

- SSH Hostname
- SSH UserName
- SSH Password
- SSH Key File
- MySQL Hostname
- MySQL Server Port 3306(固定)
- UserName
- Password
- Default Schema
「 ➀SSH Hostname 」、「 ②SSH UserName 」の確認方法
XSERVERのサーバーパネルからログインしましょう。
サーバーパネルにログインする「サーバーID」を「②SSH UserName」に使用します。

サーバーパネル情報を選択します。

赤枠で囲った、ホスト名を「 ➀SSH Hostname」として使用します。
おそらく「sv〇〇〇〇.xserver.jp」となっているはずです。メモっておきましょう。

これで、「 ➀SSH Hostname 」と「②SSH UserName」の確認はできました。
「 ③SSH Password 」、「 ④SSH Key File 」の確認方法・取得方法
登録済みで「③SSH Password」と「④SSH Key File」が手元にある場合はとばしてOKです。
処理の流れとしては以下の通りになります。
- SSH設定をONにする
- 任意の「 ③SSH Password 」を設定し、公開鍵認証用鍵ペアの生成
- 「④SSH Key File」がダウンロードされる
ここの手順に関しては「XSERVERで公開鍵認証用鍵ペアを取得する方法(SSH設定)」を参照
「⑤MySQL Hostname」の確認方法
サーバーパネルのTop画面に戻り、「データベース」の「MySQL設定」を選択

赤枠で囲った「ホスト名」を「⑤MySQL Hostname」として使用します。
おそらく「mysql〇〇〇〇.xserver.jp」といった情報が表示されていると思います。

DB情報「⑦UserName」、「⑧Password」、「⑨Default Schema」の設定と確認
引き続き、同じパネルを使って作業をします。
手順としては以下の通り
- データベースを追加←「⑨ Default Schema 」
- アクセス権所有ユーザの追加←「⑦UserName」、「⑧Password」
- データベースに アクセス権所有ユーザ を紐づける

DBの追加、ユーザの追加については「XSERVERのデータベース追加とユーザ作成方法について」を参照
これで、必要な情報がそろいました。
MySQL Workbenchで接続する(接続テスト)
「MySQL Workbench」を起動したら、「Database」⇒「Manager Connections」を選択します。

管理画面( Manage Server Connections )が立ち上がるので、赤枠の「New」をクリックする。

新しい接続情報が作られるので、
スポンサーリンク
必要であれば「Connection Name」を変更してください。

「 Connection Method 」を「Standard TCP/IP over SSH」に設定します。

あとは、最初に取得した接続情報を設定していき、「Test Connection」を押下します。
注意点は「➀SSH Hostname 」のポート番号(10022固定)が設定されているか注意してください。
「sv〇〇〇〇.xserver.jp」の場合は「 sv〇〇〇〇.xserver.jp:10022」と設定しましょう。

うまく接続出来れば、以下のようなダイアログが表示されます。

失敗した場合は以下のようになります、接続情報を見直してください。

MySQL Workbenchで接続する
接続テストが完了したら、実際に接続してみましょう
メニューバーの「Database」→「Connect to Database」を選択します。

そうするとこんな画面が立ち上がります。

Stored Connectionで先ほど接続テストしていた「Connection Name」を選択します。

選択すると、あらかじめ設定していた情報が表示されるので赤枠の「OK」を選択します。
