
こんにちは。CData Software Japan リードエンジニアの杉本です。
レンタルサーバーとして有名なXServer に搭載されているRDBである MariaDB に CData Driver経由でストレートに接続できないか? という問い合わせをよくいただきます。
XServer の MariaDB はSSH経由でなければ接続できないようになっているため、通常ですとPutty などでポートフォワーディングして、その上でアクセスする必要がありますね。
しかしながら、CData MariaDB Driver ではSSHを通す機能が標準で備わっているため、そんな手間の必要なく、Driver からストレートに XServer の MariaDBに接続することが可能です。
というわけで今回は XServerのMariaDBに接続する手順を解説してみたいと思います。
ちなみにEC2をSSH Server として利用した PostgreSQLベースの接続方法については以下の記事で解説しています。
XServer側のSSH設定
まずXServer側のSSHを設定します。
併せて事前に必要となる情報を確認しておきましょう。
SSHサーバーのHost名は「サーバー情報」画面の「ホスト名」で確認できます。

ちなみにSSHユーザーはサーバーIDになるので、これも予め控えておきましょう。

続いてSSHの設定です。「SSH設定」画面に移動して「SSH設定」を「ONにする」を有効化しておきます。

SSH設定を有効化したら、SSH用のキーを「公開鍵認証用鍵ペアの生成」画面からパスフレーズを指定して生成しておきます。

以下のようなKeyファイルが生成されるので、任意のフォルダに保存しておきます。

Maria DBの追加
次にMariaDB側の設定です。ちなみに画面上はMySQLとなっていますが実際に構成されるのはMariaDBになったようですね。
予め構成しているMariaDBがあれば省略して大丈夫です。
MySQLの設定画面に移動して、MySQL データベースを追加します。

併せてDBにアクセスするMySQLユーザも「MySQLユーザ追加」タブから追加しておきましょう。

ユーザを追加したら忘れずに、作成したデータベースにアクセス権を付与しておきます。

以上でXServer側の設定は完了です。
CData MariaDB Driverのセットアップ
それではDriver側を準備します。
以下のURLからODBCやJDBC、Excel Add-inなどの各種ドライバーがダウンロードできます。それぞれ30日間のトライアルがあるので、試してみてください。

今回はWindows版のODBC Driverを利用しました。
ダウンロード後、セットアップを進めていきます。
基本的にダイアログに従って進めるだけでOKです。

セットアップ後、ODBC DSNの接続設定画面が立ち上がるので以下の通り入力します。
ポイントは「Other」のプロパティに「SSHAuthMode=Public_Key」を指定する必要がある点です。
| プロパティ名 | 値 | 備考 |
|---|---|---|
| Server | localhost | SSH Server 経由で接続するRDBのServerアドレス |
| Port | 3306 | |
| User | 例)xs036215_admin | 作成したMariaDBのユーザ |
| Password | YOUR_PASSWORD | MariaDBユーザのパスワード |
| Database | 例)xs036215_sample | 作成したMariaDBのDB名 |
| SSH Client Cert | 例)C:\Sample\xs036215.key | ダウンロードしたSSH Keyのファイルパス |
| SSH Client Cert Password | 例)PASSWORD | SSH Keyのパスフレーズ |
| SSH Client Cert Type | PUBLIC_KEY_FILE | |
| SSH Server | sv13082.xserver.jp | XServerのホスト名 |
| SSH Port | 10022 | XServerでは10022がSSHポートなので、22から変更します。 |
| SSH User | 例)xs036215 | XServerのサーバーID |
| Use SSH | True | |
| Other | SSHAuthMode=Public_Key |

これで「接続テスト」をクリックして、以下のようにメッセージが表示されればOKです。

無事XServerに接続することができました。
おわりに
このようにオープンソース版のODBC Driverでは対応していない機能にCData Driverでは対応していることも多々あります。
もし気になる機能、こんなことできないの?といった疑問・質問があれば、お気軽にテクニカルサポートフォームまでお問い合わせください。