Dockerコンテナで、MariaDBを運用していますが、まさかのrootパスワード失念。。。対応内容を記載しておきます。
Contents
systemctl や sudo 自体インストールされていない?
本来であれば
MariaDBを停止させて。。。
sudo systemctl stop mysqld
セーフモードで立ち上げて、root のパスワードなしログインを可能にして。。。
sudo mysqld_safe --skip-grant-tables
と思っていたのですが、
root@:/# systemctl bash: systemctl: command not found root@:/# sudo systemctl bash: sudo: command not found
そりゃそうですよね。コンテナですもの必要無い。
my.cnfに記載して、パスワードなしログイン
my.cnfに起動パラメータ追加
mysqldの下に、一行「skip-grant-tables」パラメータを追加
[mysqld]
skip-grant-tables
そして、コンテナ郡をRestart
パスワードなしログイン
MariaDBのコンテナに入って、
mysql -u root
ログインできましたかね。。
パスワード変更
パスワードを忘れてしまっているので、変更しましょう。
rootパスワードを変更
set password for 'root'@'localhost' = password('new_password');
同様のコマンドで、実際アクセスするユーザのパスワードも必要に応じて変更。
変更後は、そのパスワードで入れるか一応確認。
後処理
my.cnfの記載をちゃんと消しましょう!
そして、コンテナ郡のRestart