OSS

Failed! Error: SET PASSWORD ... が出る。mysql_secure_installationでrootパスワードを設定できない。

はじめに

MySQLをインストール後にmysql_secure_installationを実行しrootパスワード設定を行う時にFailed! Errorが発生するようになりました。

AzureのUbuntu 20.04 LTSでは、エラーは下記のように表示されます。

... Failed! Error: SET PASSWORD has no significance for user 'root'@'localhost' as the authentication method used doesn't store authentication data in the MySQL server. Please consider using ALTER USER instead if you want to change authentication parameters.

 

問題

検証環境はAzureでUbuntu 20.04 LTSです。

MySQLをインストールします。

># apt install mysql-server

下記のようにエラーが表示されます。

# mysql_secure_installation

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

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: 2
Please set the password for root here.

New password:

Re-enter new password:

Estimated strength of the password: 50
Do you wish to continue with the password provided?(Press y|Y for Yes, any other key for No) : y
... Failed! Error: SET PASSWORD has no significance for user 'root'@'localhost' as the authentication method used doesn't store authentication data in the MySQL server. Please consider using ALTER USER instead if you want to change authentication parameters.

この状態でループします。

これを解消するために一旦終了します。ただし、パスワード入力時にはCtrl+Cで抜け出せません。

下記が表示されているときにCtrl+Cで終了します。

Do you wish to continue with the password provided?(Press y|Y for Yes, any other key for No) :

対策

下記のコマンドでパスワードを設定する必要があります。

MySQLに接続します。

mysql -uroot

ALTER コマンドでパスワードを設定します。

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password by '{password}';

{password}は設定したいパスワードを入力します。

 

確認

再度、mysql_secure_installationを実行します。指定したrootのパスワードが設定されていれば成功です。

# mysql_secure_installation

Securing the MySQL server deployment.

Enter password for user root:

まとめ

以前はパスワードが設定されなかったことへの修正なのではないでしょうか。なにか無理やりな気がしますけど。

Ubuntu20.04でMySQL8のmysql_secure_installationでパスワードが設定されない。 - 技術的な何か。
Ubuntu20.04でMySQL8のmysql_secure_installationでパスワードが設定されない。 - 技術的な何か。

はじめに 久しぶりにMySQLをAzure VMのUbuntu20.04にインストールする機会がありました。 そこで、気になったことがありました。 インストール後にmysql_secure_insta

level69.net

 

-OSS
-