闲置の腾讯クラウドサーバーがあり、年末に契約が満了し、更新も考えていなかったので、開発用のデータベースとしてMySQLをデプロイすることにした。システムを再構築する際に、手間を省いて、腾讯クラウドが提供している汎用イメージを選択した。すでにMySQLデータベースがインストールされていた。本来はシステム内にReadmeのようなファイルがあり、パスワードや設定ファイルの場所などを説明されているはずだと思っていた。
腾讯クラウドのシステム再構築は非常に速く、1分ほどで通知が届いた。「完了」と表示されたのでログインし、systemctl status mysql
コマンドを実行したところ、MySQLサービスが起動していた。パスワードを探し回ったがどこにも見つからず、次第に焦り始めた。
そこで、サーバーにはすでにアクセスできる状態なので、root権限を使ってパスワードをリセットする方法があるはずだと考えた。資料を調べたり、阿里云フォーラムで情報を集めたりして、さらに試行錯誤を続けた。
パスワードのリセット
構成ファイル vim /etc/my.cnf
を編集し、mysqld
ノードに以下の設定を追加します:skip-grant-tables
、そしてコマンドを実行してデータベースを再起動します:systemctl restart mysql
その後、mysql
を直接使用してデータベースにログインし、通常の操作が続行されます。 root
ユーザーのパスワードをリセットし、同時にリモートログインを許可します。
変更した構成ファイルをロールバックし、データベースを再起動することで完了です。