Linuxサーバー、MySQLパスワードのリセット

闲置の腾讯クラウドサーバーがあり、年末に契約が満了し、更新も考えていなかったので、開発用のデータベースとしてMySQLをデプロイすることにした。システムを再構築する際に、手間を省いて、腾讯クラウドが提供している汎用イメージを選択した。すでにMySQLデータベースがインストールされていた。本来はシステム内にReadmeのようなファイルがあり、パスワードや設定ファイルの場所などを説明されているはずだと思っていた。

腾讯クラウドのシステム再構築は非常に速く、1分ほどで通知が届いた。「完了」と表示されたのでログインし、systemctl status mysqlコマンドを実行したところ、MySQLサービスが起動していた。パスワードを探し回ったがどこにも見つからず、次第に焦り始めた。

そこで、サーバーにはすでにアクセスできる状態なので、root権限を使ってパスワードをリセットする方法があるはずだと考えた。資料を調べたり、阿里云フォーラムで情報を集めたりして、さらに試行錯誤を続けた。

パスワードのリセット

構成ファイル vim /etc/my.cnf を編集し、mysqld ノードに以下の設定を追加します:skip-grant-tables 、そしてコマンドを実行してデータベースを再起動します:systemctl restart mysql

その後、mysql を直接使用してデータベースにログインし、通常の操作が続行されます。 root ユーザーのパスワードをリセットし、同時にリモートログインを許可します。

変更した構成ファイルをロールバックし、データベースを再起動することで完了です。

参照資料

Licensed under CC BY-NC-SA 4.0
最終更新 2025年06月01日 15:38
金融ITプログラマーのいじくり回しと日常のつぶやき
Hugo で構築されています。
テーマ StackJimmy によって設計されています。