ERROR 1045 (28000):でMySQLにrootログインできない場合の対策

ERROR 1045 (28000):でMySQLにrootログインできない場合の対策 サーバー

サーバーにSSHで接続し、MySQLやMariaDBにrootでログインしようとしたら ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES) というエラーが出てログインできない。

そんな時の対策方法です。

スポンサーリンク

エラーの状況

と入力してEnterキーを押すと、

とパスワードを聞かれるのでパスワードを入力してEnter

すると以下のようなエラーが表示される。

MySQL(又はMariaDB)のrootのパスワードはちゃんと設定してあり、rootパスワードを確認して間違いなく入力したはずなのにエラーが出てログインできない。

スポンサーリンク

対策方法その1

# mysql -u root -p

と入力してからEnterを押さずに、ワンライナー(1行)でパスワードを入力してみる。

【例】# mysql -u root -pXXXPASSWORDXXX

※「mysql -u root -p」のあとにスペースを入れずにパスワードを入力してEnterキーを押します。
※上記の「XXXPASSWORDXXX」は例ですので実際のMySQL(又はMariaDB)のrootパスワードを入力してください。

ちゃんとログイン出来ました。

スポンサーリンク

対策方法その2

一旦、rootパスワード無しでMySQL(又はMariaDB)にrootログイン出来るように変更する方法です。

MySQLの起動オプションで、MYSQLD_OPTS="--skip-grant-tables" を設定するとパスワード認証を無効化することが出来ます。

これでrootパスワード無しでログインできます。

このままだとマズいので、MySQLでの作業が終わったらMYSQLD_OPTSの設定を元に戻します。

以上で解決です。