Linux で MySQL または MariaDB のルートパスワードをリセットする方法
MySQL または MariaDB データベース サーバーを初めてセットアップする場合は、その後すぐに mysql_secure_installation を実行して、基本的なセキュリティ設定を実装することになるでしょう。
これらの設定の 1 つはデータベース ルート アカウントのパスワードです。これは非公開にし、厳密に必要な場合にのみ使用する必要があります。パスワードを忘れた場合、またはパスワードをリセットする必要がある場合(たとえば、データベース管理者の役割が変更された場合、または解雇された場合など)。
推奨事項: MySQL または MariaDB のルート パスワードを変更する
この記事が役に立ちます。 Linux で忘れた MySQL または MariaDB の root パスワードをリセットまたは回復する方法を説明します。
この記事では MariaDB サーバーを使用しますが、この手順は MySQL でも同様に機能するはずです。
MySQL または MariaDB の root パスワードを回復する
まず、データベース サービスを停止し、サービスのステータスを確認します。前に設定した環境変数が表示されます。
------------- SystemD -------------
systemctl stop mariadb
------------- SysVinit -------------
/etc/init.d/mysqld stop
次に、--skip-grant-tables
を使用してサービスを開始します。
------------- SystemD -------------
systemctl set-environment MYSQLD_OPTS="--skip-grant-tables"
systemctl start mariadb
systemctl status mariadb
------------- SysVinit -------------
mysqld_safe --skip-grant-tables &
これにより、パスワードなしで root としてデータベース サーバーに接続できるようになります (接続するには、別の端末に切り替える必要がある場合があります)。
mysql -u root
それ以降は、以下に説明する手順に従ってください。
MariaDB [(none)]> USE mysql;
MariaDB [(none)]> UPDATE user SET password=PASSWORD('YourNewPasswordHere') WHERE User='root' AND Host = 'localhost';
MariaDB [(none)]> FLUSH PRIVILEGES;
最後に、サービスを停止し、環境変数の設定を解除して、サービスを再度開始します。
------------- SystemD -------------
systemctl stop mariadb
systemctl unset-environment MYSQLD_OPTS
systemctl start mariadb
------------- SysVinit -------------
/etc/init.d/mysql stop
/etc/init.d/mysql start
これにより、以前の変更が有効になり、新しいパスワードを使用してデータベース サーバーに接続できるようになります。
まとめ
この記事では、MariaDB/MySQL の root パスワードをリセットする方法について説明しました。いつものように、ご質問やフィードバックがございましたら、お気軽に以下のコメント フォームをご利用ください。お返事おまちしております!