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
そして、今のところはここまでです。これがお役に立てば幸いです。