ウェブサイト検索

MySQL または MariaDB の root パスワードをリセットする方法


数か月前、 私はUbuntu 18.04 サーバーにLAMP スタックをセットアップしました。今日、データベースサーバーにrootユーザーとしてログインしようとしましたが、パスワードを完全に忘れてしまいました。いくつかの Web 検索と MySQL フォーラムの閲覧を経て、MySQL root ユーザーのパスワードを正常にリセットできました。これをどのように行うか疑問に思っている人のために、この簡単なチュートリアルでは、Linux および Unix 系オペレーティング システムで MySQL または MariaDB のルート パスワードをリセットする手順を説明します。

MySQL または MariaDB の root パスワードをリセットする

まず、データベースサーバーを停止します。

MySQL を使用している場合は、次のコマンドを入力して Enter キーを押します。

sudo systemctl stop mysql

MariaDB の場合:

sudo systemctl stop mariadb

次に、次のコマンドを使用して、アクセス許可をチェックせずにデータベース サーバーを再起動します。

sudo mysqld_safe --skip-grant-tables &

ここで、--skip-grant-tables オプションを使用すると、パスワードなしですべての権限で接続できます。

このオプションを使用してサーバーを起動すると、他のクライアントがデータベース サーバーに接続するのを防ぐために使用される --skip-networking オプションも有効になります。

また、アンパサンド(&) 記号はコマンドをバックグラウンドで実行するために使用されるため、次の手順で他のコマンドを入力できます。

上記のコマンドは危険であり、データベース サーバーの安全性が低下することに注意してください。このコマンドは、パスワードをリセットするために短時間のみ実行してください。

次に、root ユーザーとして MySQL/MariaDB サーバーにログインします。

mysql

mysql> または MariaDB [(none)]> プロンプトで、次のコマンドを実行してデータベースをリセットします。 root ユーザーのパスワード:

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

上記のコマンドの ostechnix を独自のパスワードに置き換えます。

次に、次のコマンドを入力して mysql コンソールを終了します。

FLUSH PRIVILEGES;
exit

最後に、--skip-grant-tables オプションを使用して以前に起動した実行中のデータベース サーバーをシャットダウンします。これを行うには、次を実行します。

sudo mysqladmin -u root -p shutdown

前の手順で設定した mysql/mariadb root ユーザー パスワードを入力するように求められます。

Enter password: 
[2]- Done sudo mysqld_safe --skip-grant-tables

ここで、次のコマンドを使用して通常どおり mysql/mariadb サービスを開始します。

sudo systemctl start mysql

MariaDB の場合:

sudo systemctl start mariadb

次のコマンドを使用して、パスワードが本当に変更されたかどうかを確認します。

sudo mysql -u root -p

そして、今のところはここまでです。これがお役に立てば幸いです。

関連記事