先日作成したWordPressのAccess版エクスポーターを、エックスサーバー(XServer)のMySQLを参照するよう改良しました。ダンプファイルの取得やリストアが不要になり、使い勝手が向上しました。
具体的には、Accessのテーブルのリンク先を、SSHを通したエックスサーバー上のMySQLに、ODBC接続して一括更新しました。
一括更新には、Accessのリンクテーブルマネージャーを使用しています。以前より格段に使いやすくなっていて、一からリンクテーブルを作るより全然楽でした。使う機会があれば、ぜひお試しください。
また、SSHクライアントには「RLogin」を使用しています。
ぺんたんさんの次の記事がとても参考になりました。
貴重な情報を公開いただき、ありがとうございます<(_ _)>
公開鍵認証用鍵ペアを生成
最初に、公開鍵認証用鍵ペアを生成して、秘密鍵を入手します。
エックスサーバーのサーバーパネルにログインしてSSH設定を表示します。SSHをオンにして、公開鍵認証用鍵ペアを生成します。生成時のパスフレーズと、ダウンロードした秘密鍵は、SSHクライアントの設定で使用します。
RLoginの設定
SSHクライアント「RLogin」に、エックスサーバーのサーバーエントリを追加します。
RLoginを起動して「新規」をクリックします。
SSHサーバー
画面左の「サーバー」をクリックして、エックスサーバーのガイドを参考に、次の通り入力します。
プロトコル | ssh |
ホスト名 (サーバーIPアドレス) | サーバーID.xsrv.jp ※ホスト名(sv***.xserver.jp)でも接続可能です。 |
TCPポート | 10022 |
ログインユーザー名 | サーバーID |
パスフレーズ | 公開鍵認証用鍵ペアを生成した時のもの |
秘密鍵のファイルは「SSH認証鍵」から設定します。
MySQLホスト
画面左の「プロトコル」をクリックして「ポートフォワード」から設定します。
次の通り入力します。
Listened | Local Host Name:localhost Port:3306 |
Connect | Host Name:MySQLホスト名 Port:3306 |
この設定により、クライアントの「localhost」への要求が、「MySQLホスト」に受け渡されるようになります。
RLoginの実行
接続するサーバーエントリを選んで「OK」をクリックします。
このあと、Accessから使用するので起動したままにしておきます。
リンクテーブルの更新
Accessを起動して、リンクテーブルのリンク先を更新します。
一からリンクテーブルを作成することもできますが、今回はAccessの「リンクテーブルマネージャ」を使用して、一括更新したいと思います。
マネージャーの起動
「外部データ」タブの「リンクテーブルマネージャー」をクリックします。
接続文字列の変更
「ODBC」のチェックボックスにチェックを入れて、「編集」をクリックします。
※ ODBCのリンクテーブルをまとめて選択できます。
リンクの編集画面が開きます。
「接続文字列」を次のように編集して「保存」をクリックします。
サーバー名 | localhost |
ユーザー名 | アクセス権所有ユーザ ***_wpadmin |
パスワード | password |
データベース名 | ***_wpdb |
● 接続文字列
Driver=MySQL ODBC 8.0 Unicode Driver; SERVER=localhost;UID=***_wpadmin;PWD=password; DATABASE=***_wpdb;PORT=3306;DFLT_BIGINT_BIND_STR=1;NO_I_S=1
リンクテーブルの一括更新
「更新」をクリックして、リンクテーブルを一括更新します。
途中、次のようなメッセージが表示された場合、そのまま「OK」をクリックします。
※ 参照するだけなので問題ありません。
更新が完了したら「閉じる」をクリックして終了します。
エクスポートの確認
クエリを開いて、データが表示されることを確認します。
実際に、保存済みのエクスポート操作からエクスポートしてみました。
問題なく動作することが確認できました。
これで、SSHを通してMySQLにODBC接続するよう、Access版エクスポーターを改良することができました。
最後までご覧いただき、ありがとうございます。
では、また。
コメント