カテゴリー
IT MySQL Web サーバー

MySQL 8.0 の起動直後に最初に実行するコマンド

MySQL 8.0 を起動して最初に実行するべきコマンドがあります。このコマンドを実行するとrootパスワードの変更や不要なアカウント・データベースの削除が実行されます。

以下のコマンドを実行します。(パスはMacPortsの場合)

/opt/local/lib/mysql8/bin/mysql_secure_installation

まず最初にrootのパスワードを入力します。

最初のrootのパスワードは、MySQLの初期化時に、ランダムな文字列が自動的に生成されています。詳しくは以下の記事を参照して下さい。

MySQL8.0のインストール時に自動的に作成されるパスワード
Enter password for user root: 

ログインをするとまず最初にパスワードの設定を行います。

The existing password for the user account root has expired. Please set a new password.

ユーザーアカウントrootの既存のパスワードの有効期限が切れています。 新しいパスワードを設定してください。

MySQLのインストール時に作成されたパスワードは有効期限切れになっているので、新しいパスワードを入力して下さい。

New password: 

確認用にもう一度入力して下さい。

Re-enter new 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: 

VALIDATE PASSWORD COMPONENTを使用して、パスワードをテストし、セキュリティを向上させることができます。
パスワードの強度をチェックし、ユーザーが十分に安全なパスワードのみを設定できるようにします。
VALIDATE PASSWORDコンポーネントをセットアップしますか?
yかYを押したらYes、他のキーを押したらNo。

互換性を維持するならNを押して下さい。意味がよく分からないなら、Nです。

Nを押した場合は、rootのパスワードを更新する必要があるはずです。(必要ないかもしれませんが、しておくのが無難です)

Using existing password for root.
Change the password for root ? ((Press y|Y for Yes, any other key for No) : 

rootに既存のパスワードを使用します。
rootのパスワードを変更しますか?

次に、匿名ユーザーを削除するか聞かれます。これは通常Yです。

By default, a MySQL installation has an anonymous user, allowing anyone to log into MySQL without having to have a user account created for them. 
This is intended only for testing, and to make the installation go a bit smoother.
You should remove them before moving into a production environment.

デフォルトでは、MySQLインストールには匿名ユーザーが含まれているため、ユーザーアカウントを作成しなくても誰でもMySQLにログインできます。
これはテストのみを目的としており、インストールを少しスムーズにすることを目的としています。
実稼働環境に移行する前に、それらを削除する必要があります。

次に、rootユーザーによるログインをlocalhostだけに限定するか聞かれます。これは通常はYです。

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

通常、rootは「localhost」からの接続のみを許可する必要があります。
これにより、誰かがネットワークからルートパスワードを推測できないようになります。

次に、testというデフォルトで作成されているデータベースを削除するか聞かれます。これはどちらでもいいです。必要になったら作ればいいので、Yでいいと思います。

By default, MySQL comes with a database named 'test' that anyone can access. 
This is also intended only for testing, and should be removed before moving into a production environment.

デフォルトでは、MySQLには「test」という名前のデータベースが付属しており、誰でもアクセスできます。
これもテストのみを目的としているため、実稼働環境に移行する前に削除する必要があります。

最後に、上記の設定を即時で反映するか聞かれます。通常はYです。

Reloading the privilege tables will ensure that all changes made so far will take effect immediately.

特権テーブルを再ロードすると、これまでに行ったすべての変更がすぐに有効になります。

以下に全文を掲載します。

phpbeginners@MacBookAirM1:~/ $ /opt/local/lib/mysql8/bin/mysql_secure_installation

Securing the MySQL server deployment.

Enter password for user root: 

The existing password for the user account root has expired. Please set a new password.

New password: 

Re-enter new 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: n 
Using existing password for root.
Change the password for root ? ((Press y|Y for Yes, any other key for No) : y

New password: 

Re-enter new password: 
By default, a MySQL installation has an anonymous user,
allowing anyone to log into MySQL without having to have
a user account created for them. This is intended only for
testing, and to make the installation go a bit smoother.
You should remove them before moving into a production
environment.

Remove anonymous users? (Press y|Y for Yes, any other key for No) : y
Success.


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
Success.

By default, MySQL comes with a database named 'test' that
anyone can access. This is also intended only for testing,
and should be removed before moving into a production
environment.


Remove test database and access to it? (Press y|Y for Yes, any other key for No) : n

 ... skipping.
Reloading the privilege tables will ensure that all changes
made so far will take effect immediately.

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

All done! 

作成者: 管理者

PHP初心者勉強会の管理人

コメントを残す

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

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください