エックスサーバーにSSH接続してMySQLをコマンド操作する方法

レンタルサーバーでMySQLを使う場合、phpMyAdmin等のGUIツールを用いて操作することが多いんですが、大量のデータを一括処理したい場合など、phpMyAdminでは手に負えず「コマンド操作」が必要になる場合があります。

今回、エックスサーバーで利用しているMySQLをコマンド操作(SSH接続)したので、その手順を記録しておきます。

1.エックスサーバーのサーバーパネルでSSHの設定を行う

エックスサーバー

サーバーパネルにログインし、「SSH設定」をクリック(↑)します。

エックスサーバー

「SSH設定」タブの状態が「OFF」になっている場合は、「ONにする」ボタンをクリック(↑)します。「ON」になると、SSHで接続できる状態になります。

2.「公開鍵認証」のための準備

エックスサーバーにSSH接続する場合、パスワード認証による接続はできず、「公開鍵認証」での接続が必要になります。

エックスサーバー

「SSH設定」の「公開鍵認証用鍵ペアの生成」タブを開き、任意のパスフレーズを入力のうえ、「公開鍵認証用鍵ペア生成」ボタンをクリックします。

確認画面で「確定」ボタンを押すと、秘密鍵をダウンロードできるので、自分のPC内に保存します。

3.秘密鍵を設置

ダウンロードした秘密鍵ファイル(xserver.key)を「.ssh」ディレクトリに設置します。

「.ssh」ディレクトリが存在しない場合は、下記コマンドで作成します。

$ mkdir ~/.ssh

秘密鍵を「.ssh」ディレクトリに移動します。(元ディレクトリやファイル名は、適当に読み替えてください。)

$ mv ~/Downloads/xserver.key ~/.ssh/

「.ssh」ディレクトリと秘密鍵のパーミッションを変更します。

$ chmod 700 ~/.ssh
$ chmod 600 ~/.ssh/xserver.key

4.サーバーにSSHでログイン

上記の準備をすることで、エックスサーバーにSSH接続することができます。

$ ssh -l [サーバーID] -i xserver.key [サーバーID].xsrv.jp -p 10022

上記コマンドでログインするとパスワード入力を求められるので、「公開鍵認証用鍵ペアの生成」で使ったパスフレーズを入力すればOKです。

5.MySQLをコマンド操作

ログインが成功すれば、MySQLコマンドでデータベースを操作することができます。

$ mysql -h [サーバー名] -u [ユーザー名] -p [パスワード]

mysql> ...

以上、エックスサーバーにSSH接続してMySQLをコマンド操作する方法の紹介でした。