エラー 1045 (28000) アクセスがユーザー root localhost に対して拒否されました (解決済み)

公開: 2023-03-14

「エラー 1045 (28000) ユーザー ルート localhost のアクセスが拒否されました」は、 WordPress CMS を介して MySQL にアクセスしようとしたときによく発生するエラーです。 ただし、このエラーは他の状況でも発生する可能性があります。

発生しているエラーは、「root」ユーザーが localhost からデータベースにアクセスするために必要な権限を持っていないことを示しています。 この問題の背後には、パスワードが正しくない、ユーザー名が間違っている、ユーザーに付与された権限が不適切であるなど、複数の理由が考えられます。

このエラーを解決するために実行できるいくつかの手順を次に示します

1. ユーザー名とパスワードを確認する

正しいユーザー名とパスワードを使用していることを確認してください。 ユーザー名は「root」、パスワードはインストール時に設定したものにする必要があります。

WordPress を使用している場合は、 wp-config.phpファイルを確認する必要があります。 このファイルは、WordPress のメイン フォルダーにあります。

wp-config.php

ファイルを開いて編集しようとすると (Visual Studio Code)、次の画面が表示されます。

DB の wp-config.php ユーザー名とパスワードを編集します。

DB_USER と DB_PASSWORD の値が正しいかどうかを確認します

/** Database username */ define( 'DB_USER', 'root' );
 /** Database password */ define( 'DB_PASSWORD', 'root' );

DB のユーザー名とパスワードがわからない場合は、cPanel > データベース > Mysql にアクセスして確認してください。

cpanelでmysqlデータベースにアクセスする方法

WordPress データベースのパスワードを変更するには、チュートリアルに従ってください: PHPMyAdmin で WordPress パスワードを変更する

2. ユーザーが必要な権限を持っているかどうかを確認します

ユーザー「root」がデータベースにアクセスするために必要な権限を持っているかどうかを確認します。

Step1:まず、端末を開いて ssh [email protected] と書く必要があります。

 ssh [email protected]

Step2:ログインに成功したら、このコマンドを書き留めます

mysql -uroot -p

ステップ 3:パスワードを追加したら、mysql プロンプトからコマンドの追加を開始できます。

ステップ 4:次のコマンドを使用して権限を確認できます。

 SHOW GRANTS FOR 'root'@'localhost';

これにより、ユーザー「root」が「localhost」サーバーに対して持つ権限のリストが表示されます。 ユーザーが必要な権限を持っていない場合は、次のコマンドを使用して付与できます。

 GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY 'password';

注: 'password' を使用するパスワードに置き換えます。

ユーザーが phpMyAdmin を使用して必要な権限を持っているかどうかを確認するには、次の手順に従います。

  1. phpMyAdmin アカウントにログインします。
  2. 「ユーザーアカウント」タブをクリックします。
  3. ユーザールート(またはパスワードを変更したいもの)を選択します
  4. [権限の編集] リンクをクリックします。
  5. ここでは、ユーザーに付与されている権限のリストを確認できます。
  6. データベースにアクセスするために必要な権限がユーザーに付与されていることを確認してください。
  7. ユーザーが必要な権限を持っていない場合は、関連するチェックボックスを選択して [Go] ボタンをクリックすることで権限を付与できます。
  8. 必要な権限を付与したら、データベースに再度アクセスして、問題が解決したかどうかを確認してください。
phpmyadmin 編集権限 リンク

強調表示された領域の設定を確認する必要があります。

phpmyadmin ユーザー権限

注: phpMyAdmin を使用して必要な権限を付与できない場合は、MySQL コマンド ライン インターフェイスにアクセスして権限を付与する必要がある場合があります。

3. MySQL サーバーのステータスを確認する

MySQL サーバーが実行中であることを確認します。 サーバーシェルにログインした後、次のコマンドを実行してサーバーのステータスを確認できます。

 systemctl status mysql

サーバーが実行されていない場合は、次のコマンドを使用して起動します。

 systemctl start mysql

cPanel ホスティングで Mysql のステータスを確認するには、ホスティング ダッシュボードにログインする必要があります。 もう 1 つの方法は、ホスティング プロバイダーに直接問い合わせることです。

4. MySQL サーバーが正しいポートをリッスンしているかどうかを確認します

MySQL サーバーが正しいポートをリッスンしていることを確認してください。 MySQL のデフォルトのポートは3306です。

MySQL サーバーが正しいポートをリッスンしているかどうかを確認するには、次の手順に従います。

1. MySQL がインストールされているサーバーでターミナルまたはコマンド プロンプトを開きます。

2. コマンド ライン クライアントを使用して MySQL サーバーに接続します。 次のコマンドを使用して、 usernamepassword実際の MySQL 資格情報に置き換えます。

 mysql -u username -p

3. MySQL サーバーに接続したら、次のコマンドを入力して、MySQL サーバーがリッスンしているポート番号を表示します。

SHOW VARIABLES LIKE 'port';

このコマンドは、MySQL サーバーがリッスンしているポート番号を表示します。 デフォルトでは、MySQL はポート 3306 でリッスンします。

MySQL 構成ファイルでポート番号を確認することもできます。

構成ファイルは通常my.cnfまたはmy.iniという名前で、MySQL インストール ディレクトリにあります。

MySQL インストール ディレクトリを見つけるには、次の手順に従います。

1. MySQL がインストールされているサーバーでターミナルまたはコマンド プロンプトを開きます。

2. 次のコマンドを入力して、MySQL がインストールされているかどうかを確認します。

which mysql

MySQL がインストールされている場合、このコマンドはmysql実行可能ファイルへのパスを表示します。それ以外の場合は、エラー メッセージが表示されます。

MySQL がインストールされている場合は、 whichコマンドを再度使用して、インストール ディレクトリを見つけることができます。 /path/to/mysql mysql実行可能ファイルへのパスに置き換えて、次のコマンドを入力します。

 which mysql | xargs readlink -f | sed "s|bin/mysql$||"

このコマンドは、MySQL のインストール ディレクトリを表示します。 このディレクトリを使用して、MySQL 構成ファイル ( my.cnfまたはmy.ini ) およびその他の MySQL ファイルとディレクトリを見つけることができます。

または、MySQL クライアントにアクセスできる場合は、次のクエリを実行して MySQL インストール ディレクトリを見つけることもできます。

 SELECT @@basedir;

これにより、MySQL のインストール ディレクトリが表示されます。

また、MySQL 構成ファイルをチェックして、MySQL がリッスンするように構成されているポート番号を確認することもできます。 構成ファイルは通常、 my.cnfまたはmy.iniという名前で、MySQL インストール ディレクトリにあります。

my.cnf と sql ポート

テキスト エディターで構成ファイルを開き、ポート パラメーターを検索します。 このパラメーターの値は、MySQL がリッスンするように構成されているポート番号を指定します。

MySQL サーバーが正しいポートでリッスンしていない場合は、構成ファイルのポート パラメーターを変更し、MySQL サーバーを再起動して変更を適用できます。

ポートを変更した場合は、Mysql サービスを再起動することを忘れないでください。

 service mysql restart

5.ルートパスワードをリセットします

上記の手順のいずれもうまくいかない場合は、root パスワードのリセットを試すことができます。 これは、この記事の手順に従って行うことができます。

https://dev.mysql.com/doc/refman/8.0/en/resetting-permissions.html

注:この方法では、MySQL 構成ファイルにアクセスでき、MySQL サーバーを再起動できる必要があります。

あなたは読むことに興味があるかもしれません:

WordPress で「インストールに失敗しました: ディレクトリを作成できませんでした」というエラーを修正する方法

メンテナンスモードで動かなくなったWordPressを修正する方法(解決済み)

「更新に失敗しました。 レスポンスは有効な JSON レスポンスではありません」

「データベース接続の確立エラー」を修正する方法は? – 2023年