Amazon Linux 2 を実行している Amazon EC2 インスタンスで MariaDB ルートパスワードをリセットする方法を教えてください。

所要時間1分
0

Amazon Linux 2 を実行している Amazon Elastic Compute Cloud (Amazon EC2) インスタンスで MariaDB ルートパスワードをリセットする方法を教えてください。

簡単な説明

デフォルトでは、Amazon Linux 2 上の MariaDB 5.5 にはルートパスワードがありません。MariaDB のルートパスワードを作成し、データベースからロックアウトした場合、ルートパスワードをリセットする必要があります。

注意: ルートパスワードをリセットしている間は、データベースにクエリを実行できません。

解決方法

1.    MariaDB データディレクトリが存在するボリュームの最新のスナップショットがあることを確認します。必要に応じて、このスナップショットからボリュームを再作成できます。

2.    MariaDB サービスを停止します。

sudo systemctl stop mariadb

3.    MariaDB をセーフモードで起動します。

sudo mysqld_safe --skip-grant-tables --skip-networking &

4.    次のコマンドを実行して MariaDB コマンド履歴を /dev/null に設定し、MariaDB モニターにログインします。

重要: コマンド履歴 /dev/null を設定すると、パスワード情報が履歴ファイルにプレーンテキストで表示されなくなります。この値は、完全な手順を完了した後にリセットできます。

export MYSQL_HISTFILE=/dev/null
mysql -u root

5.    MariaDB ルートパスワードを更新します。

UPDATE mysql.user SET Password = PASSWORD('new_password_here') WHERE User = 'root';

出力は次のようになります。

Query OK, 1 row affected (0.00 sec)
Rows matched: 1  Changed: 1  Warnings: 0

6.    権限をフラッシュして、付与テーブルを再ロードします。新しいパスワードは、再ロード後に有効になります。

FLUSH PRIVILEGES;

7.    MariaDB モニターを終了します。

exit

8.    MariaDB プロセスを停止します。

sudo kill `sudo cat /var/run/mariadb/mariadb.pid`

注意: プロセスの終了には数秒かかることがあります。

9.    MariaDB サービスを開始します。

sudo systemctl start mariadb

10.    新しい MariaDB ルートパスワードをテストします。

mysql -u root -p

AWS公式
AWS公式更新しました 2年前
コメントはありません

関連するコンテンツ