データベースへのアクセス
データベースへの直接アクセスに加えて、phpMyAdmin、HeidiSQL、Sequel Pro、MySQL Workbenchなどのツールを使用してデータベースを管理することも可能です。データベースへの直接アクセスを設定するには、KinstaサイトへのSSHトンネルを設定します。こちらのページでは、データベースへのさまざまな接続方法をご紹介します。
外部データベース接続を許可するためにリモートIPアドレスを設定しなければならないホスティングサービスもありますが、弊社では不要です。SSHトンネルを使用してデータベースにアクセスする場合(こちらのページでご紹介する方法)、接続はSSHの認証プロセスによって保護されます。
MyKinstaにサイトを追加すると、データベース名、ユーザー名、SSH/SFTPのユーザー名がサイト名を元に生成されます。サイト名に日本語のカナ、中国語、アラビア語、タイ語などの非ラテン文字が使用されている場合は、弊社システムの関係上、ラテン文字に変換されます。
phpMyAdminにアクセスする
弊社では、すべてのお客様にphpMyAdminへの簡単アクセスを提供しています。phpMyAdminは、MySQLデータベースの管理に人気のある無料アプリケーションです。
phpMyAdminにアクセスしてWordPressデータベースを管理するには、MyKinstaにログイン後、「WordPressサイト」>(サイト名)>「情報」に移動します。
「データベースへのアクセス」セクションに、phpMyAdminへのログインに必要なデータベースのユーザー名およびパスワードが表示されます。
ログインページにアクセスするには、「phpMyAdminを開く」をクリックします。
phpMyAdminのログインページで、データベースのユーザー名とパスワードを入力します。
phpMyAdminにログインすると、データベーステーブルの表示、クエリの実行、テーブルの削除、データのインポート、WordPressデータベースのエクスポートなどの操作が行えます。
phpMyAdminの詳しい使用方法については、phpMyAdminの公式ドキュメントをご覧ください。
SSHとデータベース情報
以下にご紹介する方法では、MyKinstaでサイトのSSHおよびデータベース情報を取得する必要があります。「WordPressサイト」>(サイト名)>「情報」画面で、以下の情報を確認することができます。
- SFTP/SSH ホスト
- SFTP/SSH ユーザー名
- SFTP/SSH パスワード
- SFTP/SSH ポート
- データベース名
- データベースユーザー名
- データベースパスワード
データベースのパスワードを変更する
データベースのパスワードを変更するには、パスワードにカーソルを合わせ、横に出現する「新しいデータベースパスワードを生成」(丸い矢印のアイコン)をクリックします。
SFTP/SSHのパスワードを変更する
選択している環境のSFTP/SSHパスワードを変更するには、パスワードにカーソルを合わせ、横に出現する「新しいSFTPパスワードを生成」(丸い矢印のアイコン)をクリックします。
表示されるウィンドウで「新しいパスワードを生成する」をクリックして確定します。
IP許可リスト
データベースへのアクセスを許可するIPアドレスのリストを指定するには、「IP許可リスト」の下にある編集アイコンをクリックします。
データベースへのへのアクセスを許可するIPアドレスを入力し、「追加」をクリックします。「1.1.1.1, 2.2.2.2」のように、 カンマ(,)で区切って複数のアドレスを指定することができます。また「1.1.1.1/32」のように、スラッシュ(/)を使用してIPアドレスの範囲を指定することも可能です。
必要なIPアドレスをすべて指定したら、「IP許可リストを更新」をクリックします。
コマンドラインでデータベースに接続する
コマンドラインだけで操作を行う場合、SSHトンネル経由でデータベースに直接接続することができます。これにより、MySQL Shellのようなローカルデータベース接続クライアントを使用し、安全にMySQLデータベースに変更を加えることができます。
SSHトンネル経由でデータベースに接続するには、MyKinstaのサイトの「情報」画面にある以下の情報が必要になります。
- SSH ユーザー名
- SSH パスワード
- SSH ホスト
- SSH ポート
- データベースのユーザー名
- データベースのパスワード
macOS
macOSでは、ターミナルを起動して、以下のコマンドを実行します。「ssh_username」「ssh_host」「ssh_port」はそれぞれサイトの設定に置き換えてください。ローカルのポート3307を、データベースを含むリモートサーバーのポート3306に割り当て、必要なポート転送を実行するコマンドです。
ssh -fN ssh_username@ssh_host -p ssh_port -L 3307:127.0.0.1:3306
上のスクリーンショットのサイト例(kinstalifeサイト)では、以下のコマンドでSSH接続を確立することができます。
ssh -fN [email protected] -p 47780 -L 3307:127.0.0.1:3306
プロンプトが表示されたら、SFTP/SSHのパスワードを入力し、Enterキーを押します。パスワードが正しくない旨のメッセージが表示されなければ、問題ありません。
この時点で、Macが127.0.0.1:3307経由でリモートデータベースに接続するように設定されます。まだインストールしていない場合は、ローカルにMySQL Shellをインストールしてください。
以下MySQL Shellのコマンドを使用してデータベースに接続します。
mysqlsh --host=127.0.0.1 --port=3307 -u database_username -p --sql
kinstalifeサイトの場合は、以下のコマンドを使用します。
mysqlsh --host=127.0.0.1 --port=3307 -u kinstalife -p --sql
データベースのパスワードの入力を求められるため、先ほどの「情報」画面を開いておくと便利です。接続に成功すると、以下のSQLインターフェースが表示され、リモートデータベースに直接問い合わせることができます。
HeidiSQLでデータベースに接続する(Windowsのみ)
- HeidiSQLをダウンロードしてインストールします。初めて起動する際には、以下の情報でセッションファイルを新規作成する必要があります。
- ネットワーク種別:MySQL(SSHトンネル)
- ホスト名/IP:localhost(または 127.0.0.1)
- ユーザー:MyKinstaの「データベースのユーザー名」
- パスワード:MyKinstaの「データベースのパスワード」
- ポート:3306
- データベース:MyKinstaの「データベース名」
- コマンドライン接続ツールのPlink.exe(PuTTY Link)をダウンロードし、HeidiSQLの「高度な設定」タブで場所を指定します。その後、「SSHトンネル」タブに以下の情報を貼り付けます。
- SSHホスト:MyKinstaの「SFTP/SSH ホスト」
- ポート: MyKinstaの「SFTP/SSH ポート」
- ユーザー名:MyKinstaの「SFTP/SSH ユーザー名」
- パスワード: MyKinstaの「SFTP/SSH パスワード」
- ローカルポート:3306
- 「開く」をクリックすると、ホストを信頼し、レジストリにキーを追加するプロンプトが表示されます。
Sequel Proでデータベースに接続する
- Sequel Proをダウンロードし、インストールします。
- 接続を作成するには「SSH」タブをクリックし、以下の情報パラメータを設定します。
- MySQL Host:127.0.0.1
- Username:MyKinstaの「データベースのユーザー名」
- Password:MyKinstaの「データベースのパスワード」
- Database:MyKinstaの「データベース名」
- Port:3306
- SSH Host:MyKinstaの「SFTP/SSH ホスト」
- SSH User:MyKinstaの「SFTP/SSH ユーザー名」
- SSH Password:MyKinstaの「SFTP/SSH パスワード」
- SSH Port:MyKinstaの「SFTP/SSH ポート」
- 「Connect」をクリックします。
MySQL Workbench でデータベースに接続する
- MySQL Workbenchをダウンロードし、インストールします。初めて起動する際は、以下の情報を使用してセッションファイルを作成する必要があります。
- Workbenchを開き、接続を作成します。「Database」メニューで「Manage Connections」を選択し、「New」をクリックして、接続名を入力します。「Connection Method」のドロップダウンメニューから、「Standard TCP/IP over SSH」を選択します。
- 以下の接続パラメータを設定します。
- SSHホスト名:MyKinsta「SFTP/SSHホスト」のIPアドレスの後にコロン(:)と「ポート」(例:123.123.12.123:53229)を入力
- SSHユーザー名:MyKinstaの「SFTP/SSHユーザー名」
- SSHパスワード:MyKinstaの「SFTP/SSHパスワード」
- MySQLホスト名:localhost
- MySQLサーバーポート:3306
- ユーザー名:MyKinstaの「データベースのユーザー名」
- パスワード:MyKinstaの「データベースのパスワード」
- 「Close」をクリックします。
- (Windowsのみ)Windowsの場合は、「System Profile」タブを更新する必要があります。デフォルトではこの設定はグレー表示されているため、「Remote Management」タブで「Native Windows Remote Management」を一時的に有効にしてください。その後、「System Profile」で以下を更新します。
- System Type:Linux
- Installation Type:Ubuntu Linux(MySQL Package)
更新後、「Remote Management」タブで設定を「Do not use remote management」(リモート管理を使用しない)に戻します。
- 一覧から接続を開くと、「Could not connect the SSH tunnel」と「Connection Warning」の2つのポップアップウィンドウが表示されます。どちらとも「Continue」をクリックしてください。
これでデータベースにアクセスし、操作を行えるようになります。
「Incompatible SSH peer (no acceptable kex algorithm)」というエラーメッセージが表示される場合は、Workbenchのソフトウェアが古いことを意味します。なお、「check for updates」オプションが、実際には最新版ではないにもかかわらず、すでに最新版を実行していることを報告するバグが発生する事例も出ています。これを解決するには、公式ダウンロードページから最新版を入手してください。