MySQL - その他

提供:MochiuWiki : SUSE, EC, PCB
2022年10月15日 (土) 09:53時点におけるWiki (トーク | 投稿記録)による版 (ページの作成:「== 概要 == <br><br> == rootユーザのパスワードの初期化 == MySQLにrootユーザのパスワードを紛失した場合、パスワードを初期化する必要がある。<br> <br> まず、<code>--user=mysql</code>オプションを付加して、MySQLを起動する。<br> もし、rootユーザでログインする場合、rootユーザの所有するファイルを作成するため、問題を引き起こす可能性がある。<br> <br> 次に…」)
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
ナビゲーションに移動 検索に移動

概要



rootユーザのパスワードの初期化

MySQLにrootユーザのパスワードを紛失した場合、パスワードを初期化する必要がある。

まず、--user=mysqlオプションを付加して、MySQLを起動する。
もし、rootユーザでログインする場合、rootユーザの所有するファイルを作成するため、問題を引き起こす可能性がある。

次に、MySQLのpidファイルの場所を確認する。
pidファイルは、/var/lib/mysqlディレクトリ、/var/run/mysqldディレクトリ、/<MySQLのインストールディレクトリ>/dataディレクトリ等に、mysqld.pidファイルとして保存されている。

新しいrootユーザのパスワードを作成する前に、MySQLサーバ(mysqldプロセス)を停止する。

kill `cat /<MySQLのpidファイルがあるディレクトリ>/mysqld.pid`


次に、MySQLのpidファイルの最下行に、以下に示す内容を追記する。

vi /<MySQLのpidファイルがあるディレクトリ>/mysqld.pid または sudo vi /<MySQLのpidファイルがあるディレクトリ>/mysqld.pid


# /<MySQLのpidファイルがあるディレクトリ>/mysqld.pidファイル

ALTER USER 'root'@'<ホスト名またはIPアドレス>' IDENTIFIED BY '<新しいrootユーザのパスワード>';


編集したMySQLのpidファイルをホームディレクトリ等にコピーする。
ここでは、mysql-initファイルとして保存している。

cp /<MySQLのpidファイルがあるディレクトリ>/mysqld.pid ~/mysql-init


MySQLの再起動と新しいrootのパスワードを適用する。
MySQLの起動方法によっては、他のオプション(initコマンドの前に、--defaults-fileオプション等)を付加する必要がある。

mysqld --init-file=/<mysql-initファイルを保存したディレクトリ>/mysql-init &


MySQLにrootユーザとしてログインして、新しいパスワードが機能することを確認する。
最後に、pidファイルおよびmysql-initファイルを削除する。

rm /<MySQLのpidファイルがあるディレクトリ>/mysqld.pid ~/mysql-init
# または
sudo /<MySQLのpidファイルがあるディレクトリ>/mysqld.pid ~/mysql-init