MySQL コマンドライン クライアントは、Cloud SQL への接続に使用できます。このページでは、mysql
クライアントを Cloud SQL インスタンスに接続する方法について説明します。ここで説明するのは、同クライアントを、クライアント マシンでローカルに実行する場合、Compute Engine VM で実行する場合、Cloud Shell で実行する場合についてです。
始める前に
mysql
クライアントを使用して Cloud SQL インスタンスに接続する前に、次のことを行います。
-
Cloud SQL インスタンスを作成し、デフォルト ユーザーを構成します。
インスタンスの作成およびデフォルト ユーザー アカウントのパスワードを設定するをご覧ください。
必要に応じて、Compute Engine VM インスタンスを作成し、SSH でインスタンスに接続します。
VM インスタンスの作成と開始、SSH 接続について、または RDP を使用して Windows VM に接続するをご覧ください。
インスタンスに接続する方法を決定します。
接続オプションとその選択方法については、接続オプションについてをご覧ください。
ローカルマシンや Compute Engine VM で MySQL クライアントを使用する
mysql
クライアントを使用して Cloud SQL インスタンスに接続するには、大きく分けて 3 つのタスクを行います。
クライアントをインストールする
mysql
クライアントをインストールするには、次のことを行います。
- プラットフォーム向けの MySQL Community Server を MySQL Community Server ダウンロード ページからダウンロードします。
Community Server に MySQL クライアントが含まれています。 - ダウンロード ページの指示に沿って、Community Server をインストールします。
MySQL のインストールの詳細については、MySQL のインストールとアップグレードをご覧ください。
Cloud SQL インスタンスへのアクセスを構成する
インスタンスへのアクセスを構成するには、以下の操作を行います。
- クライアント マシンまたは Compute Engine VM インスタンスで、What's my IP を使用して、クライアント マシンの IP アドレスを確認します。
- その IP アドレスをコピーします。
-
Google Cloud コンソールで Cloud SQL の [インスタンス] ページに移動します。
- インスタンスの [概要] ページを開くには、インスタンス名をクリックします。
- SQL ナビゲーション メニューから [接続] を選択します。
- [ネットワーキング] タブを選択します。
- [承認済みネットワーク] セクションで、[ネットワークを追加] をクリックし、クライアントがインストールされているマシンの IP アドレスを入力します。
- [完了] をクリックし、ページの下部にある [保存] をクリックして変更内容を保存します。
- インスタンスに接続します。SSL / TLS を使用して接続しても、暗号化なし(SSL / TLS を使用しない)で接続してもかまいません。
暗号化しないで Cloud SQL インスタンスに接続する
暗号化なしで接続するには、インスタンスの SSL モードが ALLOW_UNENCRYPTED_AND_ENCRYPTED
に設定されている必要があります。Google Cloud コンソールで、これに相当する構成は「暗号化されていないネットワーク トラフィックを許可する」です。
インスタンスの SSL / TLS 構成の詳細については、SSL / TLS 証明書の構成をご覧ください。
インスタンスに接続するには:
- クライアントをインストールし、インスタンスへのアクセスを構成したことを確認します。
mysql
クライアントを起動します。mysql --ssl-mode=DISABLED --host=INSTANCE_IP_ADDRESS --user=root --password
- パスワードを入力します。
- mysql プロンプトが表示されます。
SSL / TLS を使用して Cloud SQL インスタンスに接続する
SSL / TLS と組み込み認証を使用してインスタンスに接続するには:
開始する前に、クライアントのインストールとインスタンスへのアクセスの構成が完了していることを確認します。
mysql
クライアントを起動します。mysql --ssl-mode=REQUIRED \ --host=INSTANCE_IP_ADDRESS \ --user=root --password
- パスワードを入力します。
- この接続で SSL / TLS が使用されていることを確認するために、MySQL のプロンプトで
\s
コマンドを入力します。 -
出力行で SSL: を探します。
... SSL: Cipher in use is DHE-RSA-AES256-SHA ...
接続の問題のトラブルシューティングについては、接続の問題をデバッグするをご覧ください。
SSL / TLS とクライアント証明書の検証を使用して Cloud SQL インスタンスに接続する
Cloud SQL インスタンスの ssl_mode
が TRUSTED_CLIENT_CERTIFICATE_REQUIRED
に構成されている場合は、ログイン時に検証済みのクライアントの身元を提供することも必要です。
SSL / TLS 証明書をクライアント検証とともに使用して接続するには、次のものが必要です。
- client-cert.pem ファイル内のクライアントの公開鍵証明書。
- client-key.pem ファイル内のクライアントの秘密鍵。
また、クライアントが相互認証のためにサーバーの身元を確認できるようにするために、サーバー証明書 server-ca.pem を指定します。
たとえば、mysql
クライアントを起動するには、次のコマンドを実行します。mysql --ssl-mode=VERIFY_CA \ --ssl-ca=server-ca.pem \ --ssl-cert=client-cert.pem \ --ssl-key=client-key.pem \ --host=INSTANCE_IP_ADDRESS \ --user=root --password
クライアント証明書と、対応する秘密鍵がない場合は、新しいクライアント証明書を作成してください。
Cloud Shell でクライアントを使用する
Cloud SQL インスタンスに接続するには(パブリック IP のみ):
- Google Cloud コンソールに移動します。
- ツールバーの右側にある Cloud Shell アイコン をクリックします。
Cloud Shell の初期化には少し時間がかかります。
- Cloud Shell プロンプトで、組み込みのクライアントを使用して Cloud SQL インスタンスに接続します。
gcloud sql connect INSTANCE_ID \ --user=root
- パスワードを入力します。
gcloud sql connect
コマンドは、プライベート IP または SSL / TLS を使用した Cloud SQL インスタンスへの接続をサポートしていません。暗号化を使用して接続するには、Cloud Shell でプロキシをインストールして使用します。
/home/USER
ディレクトリにプロキシ(Linux 64 ビット)をインストールします。- gcloud CLI 認証を使用してプロキシを開始します。
./cloud-sql-proxy INSTANCE_CONNECTION_NAME &
- TCP 接続を使用してデータベースに接続します。
mysql -u USERNAME -p --host=127.0.0.1
次のステップ
- プライベート IP アドレスを持つインスタンスの構成について学習する。
- アプリケーションからインスタンスに接続するためのオプションについて学習する。
mysql
クライアントについて学習する。
使ってみる
Google Cloud を初めて使用する場合は、アカウントを作成して、実際のシナリオでの Cloud SQL のパフォーマンスを評価してください。新規のお客様には、ワークロードの実行、テスト、デプロイができる無料クレジット $300 分を差し上げます。
Cloud SQL の無料トライアル