###### tags: `GCP` `Cloud SQL` # Cloud SQL 概要 - クラウドで利用できるDB - フルマネージドの Postgres と MySQL (管理がいらない) - バックアップ、レプリケーション、パッチ、アップデートが自動 - 世界中どこでも99.95%の可用性 - 秒単位課金 - 継続利用割引 # 1. 流れ 1. Cloud SQLを作成 2. テーブルなどを準備 - ConsleからDB作成 - Cloud Shell からTable, data作成 3. 接続方法の確認(3種類) 4. GCEから接続 5. GCEのindex.phpからSQLのデータを取得 # 2. Cloud SQLを作成する menu > Cloud SQL > 作成 1. database名 = udemy-study 2. rootユーザーパスワード = udemy あとはだいたい初期値でいい cpuをsmallにしてもいいかも # 3. テーブル準備 GCPのCloudSQLコンソールから、データベースを作成できる 1. CloudSQL > 作成したCloudSQLインスタンスを選択 2. タブ > データベース > データベースを作成 3. 適当な名前でok 次に、CloudShellからmysqlクライアントでログインして、テーブルを作る CloudSQLのメニューからCloudShellを開くと自動で接続のためのコマンドが 入力される 1. CloudSQL > インスタンスを選択 2. 概要 > CloudShellを使用して接続 3. passwordを求められるので、udemyと入力してrootユーザーログイン ```mysql show databases; use udemydb; create table users (id int not null primary key auto_increment, name varchar(100)); insert into users(name) values ('Taro'); ``` # 4. 接続の種類 1. パブリックIP : ファイアウォールで接続を許可する必要あり 2. プライベートIP : 同一リージョンなら設定無しで接続できる 3. Cloud SQL Proxy : 接続用のコマンドをインストールする必要あり(自分のPCやGCEから) 今回は、パブリックIPで接続する。 # 5. GCEからアクセス CloudSQLには、デフォルトで外部IPが付与される ただし、最初はアクセスが許可されていないので、アクセスするPCのIPアドレス を登録する。 1. GCEの外部IPをコピー 2. Cloud SQL > 接続 > ネットワークを追加 をクリック 3. GCEの外部IPを入力すると、そのIPからのアクセスが許可される 4. Cloud SQLの外部IPをコピー 5. GCE側にmysqlクライアントをインストールしてログイン ``` sudo apt install -y mysql-client sudo -u root -h xx.xx.xx.xx -p ``` `-u` : ユーザー名(postgresだと `-U`) `h` : ホスト(ドメイン or IPv4) `-p` : パスワードを使ってログインする
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up