AWS EC 2を使用した配備(3)-MySQLサーバの実行



前回の記事では、サーバの設定と必要なMySQLとJDKのインストールに成功しました.今からMySQLサーバから実行しましょう.

MySQLサーバの実行


まず、次のコマンドを使用してMySQLに接続します.
$ mysql -u root -p
もちろんパスワード入力ウィンドウが表示されますが、mysql rootパスワードを設定した覚えはありません.
まず任意の値を入力し、設定する必要があります.
$ sudo mysql_secure_installation
このコマンドを入力すると、MySQLのセキュリティ設定が開始されます.

まず上記のようにVALLIDATE PASWORDコンポーネントを作るかどうかを聞いてNOを押します.パスワードが複雑になるからです.次に、ルートアカウントのパスワードを設定します.

次は匿名プレイヤーを削除するかどうかです.イエスを言う

次に、ルート勘定科目の接続をリモートで拒否するかどうかを尋ねます.問わずyesと言う.

次に、mysqlを作成した後、デフォルトでテストと呼ばれるデータベースを削除するかどうかを決定します.はい.

パーミッション・テーブルを再ロードし、反映するかどうかを尋ねます.はい.
はい、rootアカウントのパスワードを確認しました.次のように接続します.
$ mysql -u root -p

でもだめです.どうしてこんなことになったの?MySQL 8.0からこのような接続を阻止したという.解決策は、サーバのroot権限でsudoに接続することです.
$ sudo mysql -u root

それではそのままmysqlに接続しますでは、今からプレイヤーを作ります.
プロジェクトで使用するdbを簡単に作成し、次のようなユーザーを作成します.
$ create database {database_name};
$ create user '{username}'@'%' identified by '{password}';
$ grant all on {database_name}.* to '{username}'@'%' with grant option;
$ flush privileges;
これによりuserを作成し、このuserを介してmysqlに接続できます.

次に、作成したMySQLサーバにローカルに接続されているかどうかを見てみましょう.

LocalからMySQLサーバへの接続


MySQL Workbenchなど、データベースに接続できるプログラムを利用します.

上記のようにhostnameはサーバのipを入力し、ユーザー名は作成したばかりのmysqlアカウントとパスワードを入力します.
その後testconnectionを送信すると、突然虹が現れ、一時停止します.
理由は何ですか.

EC 2セキュリティグループの設定


これは、EC 2がMySQL接続用の3306ポートを許可しないためです.
以前に作成したec 2インスタンスの3306ポートを開きます.
作成したインスタンスの情報で、「≪セキュリティ|Security|Eas≫」>「≪セキュリティ・グループ|Security Group|Eas≫」のセキュリティ・グループ・ルールIDリンクをクリックします.
では、現在のインバウンド・ルールは次のようになります.「インバウンド・ルールの編集」をクリックします.

次に、3306ポートを新しいインバウンド・ルールで追加します.安全のために、まず私のIPを開きます.

そして再びMySQL接続を試します.しかし、依然として失敗します.しかし応答速度は速くなった.サーバーに到着したものの、すぐに拒否されたと推測できます.

MySQL bind-address設定


サーバーに戻り、次のように入力します.
$ sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf
このプロファイルを開くと、次の設定があります.
bind-address = 127.0.0.1
mysqlx-bind-address = 127.0.0.1
どちらもコメントと保存を行います.
次に、設定を保存するコマンドを入力します.
$ systemctl status mysql
その後workbenchで実行すると、正常に接続できます.
作成したサーバにデータベースを配置することに成功しました.最後に、Springプロジェクトのみを実行して配置を完了します.
この文書は、導入時にのみ参照できます.間違いや補足が必要な場合は、いつでもメッセージを残してください:)