MySQLに外部から接続する

こんにちは、毒きのこです。

今年は色々去年とは働く環境だったり1日の流れが大きく変わってきそうです。とりあえず健康第一で頑張っていこうと思います。

今日のお題は「MySQLに外部から接続する」です。

アプリでもWebサービスでも何でもいいですが、DBサーバーへ各クライアントツールから接続する際、諸々設定する必要があります。今日はUbuntu環境にインストールしたMySQLに対し、外部接続を試みるまでの一連の流れをメモ。

MySQLのインストール(Ubuntu14.04)

AWS上に立てたEC2上にMySQLをインストールします。
途中rootでのパスワードを聞かれるので何かしら設定してやります。

インストールが完了したら早速ログイン。

MySQLにログインしたら、status; と打って情報を確認します。

上記の通り、このままだと日本語を含んだデータを入力した場合に文字化けが発生するので、日本語対応化してやります。

MySQLにログインしてる状態から exit; と打って出ましょう。ログアウトしたらMySQLの設定ファイルに下記を追記し、UTF-8に変更します。

初めての場合は新規作成になるので、そのまま以下を入力してください。

入力が完了したら、設定ファイルを反映させるためにMySQLを再起動します。

再起動したら一応rootで再び入って見てみましょう。

次に権限の設定を。rootでもこのままだと外部から接続出来ないので、以下を打って外部からでも接続出来るようにします。

最後、Ubuntuは待ち受けIPアドレスが127.0.0.1で固定されているので、これを解除します。

コメントアウトしたらMySQLを再起動します。上で叩いたコマンドと同じやつですね。

一旦ここでMySQLの設定は終わり。本当はrootだけってのはセキュリティ的にも芳しくないので、複数人で開発する時などはちゃんとユーザーを作成し、個々でログインして作業したほうがいいでしょう。

AWS側の設定

AWSでサーバーを立てた場合、セキュリティグループを設定することになります。その際インバウンド、アウトバウンドの設定も行うのですが、MySQLへのポートもここで解放してやります。

MySQLをインストールしたEC2に当てているセキュリティグループを開き、下図のように3306ポートを解放してやります。(※インバウンド側)

これで外からPort3306に対してのアクセスを許可されることになります。

あとはEC2にSSHログインし、Ubuntuのufw(ファイアウォール)設定を行います。

AWS側の設定はこれで終わりです。

外部から接続

では最後に実際につないでみます。

モザイクだらけであれですが、とりあえずIntelliJ IDEAのDatabase toolを使って接続しました。ホストはEC2に当ててるホスト名を。databaseなんかは予めてMySQLをインストールした際に作成しておいてください(今回は省略しました)。Userはrootになってますね。passwordは上で設定したMySQLのパスワードです。

Test Connectionの横にSuccessfulと小さく出てますね。

実際上の設定を行ってないとサーバーに遮断され接続出来ないです。

この辺の流れはWeb開発ではテッパン作業なので、知っておくと色々開発時に捗りますね。

全然関係ないですが僕のお気に入りDB用ツールはDataGripです(´▽`)
phpMyAdminなんかも数年前は愛用してましたね〜懐かしい。

それではいい開発ライフを〜

スポンサーリンク
336 x 280 レクタングル(大)
336 x 280 レクタングル(大)