web系エンジニアを目指す私、siが学習のアウトプットをメインにプログラミングについての記事を書いていきます。

MySQL8.0のセキュリティ設定について解説します^ ^

 
この記事を書いている人 - WRITER -

 

こんにちは!

web系エンジニアとして自社開発企業への転職を目指して、

プログラミング学習中のsiです!

 

今回はMySQLのセキュリティ設定について、

解説していきたい思います♪( ´▽`)

 

まだMySQLのインストールを行なっていない方は、こちらの記事を参考にインストールしてみてください!

初心者でも出来るMacでのRails環境構築!xcodeからMySQLのインストールまで

 

また、この記事で出てくる「%」はプロンプトなので実際に入力する必要はありません

 

マシンスペック

 

参考までに私のマシンスペックをご紹介しておきます。

  • macOS Big Sur 11.0.1
  • Macbook Pro(13-inch,2020,Four Thunderbolt 3 ports)
  • intel Core i5
  • メモリ 16GB
  • ストレージ 512GB
  • 使用シェル zsh

 

セキュリティ設定手順

 

1 MySQLサーバーの起動

% mysql.server start
Starting MySQL
. SUCCESS!
# このようなメッセージが表示されればOK

 

2 初期設定画面へ移動

% mysql_secure_installation

 

3 パスワードを設定するかの確認

Securing the MySQL server deployment.

Connecting to MySQL using a blank password.

VALIDATE PASSWORD COMPONENT can be used to test passwords
and improve security. It checks the strength of password
and allows the users to set only those passwords which are
secure enough. Would you like to setup VALIDATE PASSWORD component?

Press y|Y for Yes, any other key for No:
# 設定する場合は「y」、しない場合は「n」を入力してEnter
# 私は設定するにしました

 

4 パスワードの強度を選択

・LOW      :8文字以上であれば文字種類の制限無し

例⇨hogehoge

・MEDIUM:8文字以上で、最低1つの数値文字・小文字と大文字・特殊文字を含める

例⇨Hogehoge1@

・STRONG:MEDIUMの条件に加え、辞書ファイルを使用する場合、辞書ファイルの単語と一致する文字列を含めてはいけない

There are three levels of password validation policy:

LOW Length >= 8
MEDIUM Length >= 8, numeric, mixed case, and special characters
STRONG Length >= 8, numeric, mixed case, special characters and dictionary file

Please enter 0 = LOW, 1 = MEDIUM and 2 = STRONG:
# LOWは0、MEDIUMは1、STRONGは2を入力
# 選択後、パスワードを2回入力します
# 私はMEDIUMを選択しました

 

5 設定したパスワードで作業を進めていいかの確認

Estimated strength of the password: 100
Do you wish to continue with the password provided?(Press y|Y for Yes, any other key for No) :
# 進める場合は「y」、進めない場合は「n」を入力してEnter
# 私は進めるにしました

 

6 匿名ユーザーの削除

Remove anonymous users? (Press y|Y for Yes, any other key for No) :
# 削除する場合は「y」、削除しない場合は「n」を入力してEnter
# 私はセキュリティ面を考慮して削除するにしました

 

7 リモートサーバーからのrootユーザーへのログインを許可するかの選択

Normally, root should only be allowed to connect from
'localhost'. This ensures that someone cannot guess at
the root password from the network.

Disallow root login remotely? (Press y|Y for Yes, any other key for No) :
# 許可しない場合は「y」、許可する場合は「n」を入力してEnter
# 私はセキュリティ面を考慮して許可しないにしました

 

8 デフォルトのテスト用データベースを削除するかの確認

Remove test database and access to it? (Press y|Y for Yes, any other key for No) :
# 削除する場合は「y」、削除しない場合は「n」を入力してEnter
# 私は使用する予定が無いので削除するにしました

 

9 これまでの設定内容をデータベースに反映するかの確認

Reload privilege tables now? (Press y|Y for Yes, any other key for No) :
# 反映させる場合は「y」、しない場合は「n」を入力してEnter
# 私は反映させるにしました

 

10 このようにメッセージが出れば設定完了

Reload privilege tables now? (Press y|Y for Yes, any other key for No) : y
Success.

All done!

 

11 ログインできるかの確認

% mysql -u root -p
# 先ほど設定したパスワードを入力する

Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 10
Server version: 8.0.22 Homebrew

Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>
# このように表示されればOK

 

以上で、MySQLのセキュリティ設定は完了です^ ^

 

最後に

 

今回はMySQLのセキュリティ設定について解説しました!

 

データベースの知識は、

プログラミング学習において必須の知識!

これからも学びを深めていきます^ ^

 

最後まで読んでいただきありがとうございます!

 

今後も、どんどん記事投稿を行なっていくので、

よければ、応援の方お願い致します(*^ω^*)

 

それでは!

この記事を書いている人 - WRITER -

- Comments -

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA


Copyright© .i DO WHAT I WANT , 2021 All Rights Reserved.