MySQLまたはMariaDBデータベースサーバーを初めてセットアップする場合は、すぐにmysql_secure_installationを実行して、基本的なセキュリティ設定を実装する可能性があります。
これらの設定の1つは、データベースrootアカウントのパスワードです。このパスワードは非公開にして、厳密に必要な場合にのみ使用する必要があります。パスワードを忘れた場合、またはパスワードをリセットする必要がある場合(たとえば、データベース管理者が役割を変更した場合、または解雇された場合)。
推奨される読み物: MySQLまたはMariaDBのルートパスワードを変更する
この記事は重宝します。 Linuxで忘れたMySQLまたはMariaDBのルートパスワードをリセットまたは回復する方法を説明します。
この記事ではMariaDBサーバーを使用しますが、手順はMySQLでも機能するはずです。
MySQLまたはMariaDBのルートパスワードを回復する
まず、データベースサービスを停止し、サービスステータスを確認します。前に設定した環境変数が表示されます:
------------- 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のルートパスワードをリセットする方法について説明しました。いつものように、質問やフィードバックがあれば、下のコメントフォームを使用して私たちにメモを送ってください。ご連絡をお待ちしております!