【GCP】VM借りてそこにMySQLサーバーを立ててみる
という訳で挑戦していきます。
1・GCPプロジェクトを立てます
立てます。今回は既に立ててあるプロジェクトを使います。
2・ComputeEngineAPIをオンにして、VMインスタンスを作成
します。
インスタンスの作成ボタンはGUIを見ればどーんと書いてあるので簡単です。
インスタンスの設定がちょっと分かりづらいですが、とりあえず下記の設定で立ててみます。
OSをUbuntsにしたのは社内で使ってる人が居て聞きやすかったからなのでお好みで。ただ、WindowsServerにすると一気にお値段が倍以上になる。
3・GUIからインスタンスに接続する
とりあえずVMインスタンス管理画面の「接続」欄のSSHって書いてあるところをクリック。ブラウザからSSH接続が出来る。
以下のコマンドはOSがUbuntsの場合
$ cat /etc/os-release
して、OSのバージョンを確認する。
4・mySQLをインストールする
$ sudo apt install mysql-server
でmySQLをインストールする。途中続行して良いか聞かれるのでy。一分くらいで終わる。
なんかエラーになったら、
$ sudo apt-get update
してもう一回SQLのインストールを走らせる。
終わったら
$ systemctl status mysql
$ mysql --version
で起動していることとバージョンを確認
$ sudo mysql_secure_installation
でルートのパスワードを設定する。パスワードは忘れないように。
コマンド入れると「パスワードが強固かどうか確認するプラグイン入れる?」って聞かれるので、お好みで。
その後、任意のパスワードを設定する。
このとき、「SET PASSWARD has no significance for user 'root'@'localhost' as the authentication method used dosen't store authentication data in the MySQL server.」って怒られて二進も三進も行かなくなったら、一旦SSH接続を切って再接続し、
$ sudo mysql
して、
ALTER USER `root`@`localhost` IDENTIFIED WITH mysql_natice_password by 'hoge'
でパスワードを設定してからもう一回
$ sudo mysql_secure_installation
をやりなおす。
アノニマスユーザーを消去するかどうか聞かれる。プロジェクトのセキュリティ具合に応じてどっちでも。(本番運用始める前にアノニマスユーザーは消してねって書いてある)
アノニマスユーザー消すよって言うと、次はrootユーザーがlocalhost以外からログインするの禁止しとく?って聞かれるのでこちらも状況に応じて。
自動でテストDB作られるけど消す??って聞かれる。適当に答える。
最後に、権限テーブル更新して変更を今すぐ反映する?(Reloading the privilage tables will ensure that all changes made so far will take effect immedinately.)って聞かれるので、y。
これで設定完了
5・mySQLサーバーにrootユーザーとしてログインしてみる
$ mysql -u root -p
成功すればOK。
6・外部からmySQLに接続出来るようにする
mysqlのアクセス設定を編集する
$ sudo vi /etc/mysql/mysql.conf.d/mysql.cnf
してコンフィグファイルをviで開く。viの操作は、ふだんLinuxを使わない人間にとってはおそろしく癖があるので、コマンドリストを検索してください。
コンフィグファイルの[mysqld]の項目内にある、 bind-address = 127.0.0.1 の行をコメントアウトします。
接続テスト用のDBと、アクセス用のユーザーを作る
create database db-test default character set utf8mb4;
create user 'testuser'@'%' identified by 'user-no-password';
grant all privileges on db-test.* to 'testuser'@'%';
flush privileges;
DB作ってー、ユーザー作ってー、権限付与してー、再読込。
一度SQLからquitして、ターミナルで
$ mysql -u testuser -p db-test
で接続してみて接続出来ればOK。
VMのポートを開放する
手順1:VMインスタンスにネットワークタグを付与
VMインスタンスの一覧画面でインスタンス名をクリック>画面上部の「編集」をクリックして、「ネットワークタグ」セクションを探す。
任意のタグ名を設定する。後でファイアウォールルールをこのVMだけに適用するための目印にするだけなので、わかりやすい名前ならなんでも大丈夫。
手順2:ファイアウォールルールを作成
GCPコンソール>VPCネットワーク>ファイアウォール>ファイアウォールルールの作成を選択。
わかりやすい任意の名前を設定して、トラフィックの方向は上り、一致したときに許可にして、ターゲットを「指定されたターゲットタグ」にしておき、先ほど設定したタグを入力する。
送信元IPv4範囲に、アクセス元となるIPアドレスを設定。0.0.0.0/0を設定すれば全解放。
で、プロトコルとポートの欄の「tcp」欄に「3306」を設定。
7・MySQLWorkBenchから接続してみる
MySQLWorkBenchを立ち上げて、新しい接続を作成。
VMインスタンス一覧に書いてある外部IPを設定し、先ほど作成したtestuserのユーザー名とパスワードを入力してテスト接続してみる。
これで繋がる。やったねーーー!
この記事が気に入ったらサポートをしてみませんか?