web-dev-qa-db-ja.com

XAMPPのphpMyAdminで「設定で定義されているcontroluserの接続に失敗しました」

私は自分のWindows XPマシンにXAMPPをインストールしましたが、次のようなエラーが表示されます。

構成に定義されているcontroluserの接続が失敗しました。

XAMPPをインストールする前に、MySQLデータベースをインストールし、それにパスワードを設定しました。 MySQL用にconfig.inc.phpにパスワードを変更して入力したところ、次のエラーが発生しました。

<?php
if (!empty($_SERVER['HTTPS']) && ('on' == $_SERVER['HTTPS'])) {
    $uri = 'https://';
} else {
    $uri = 'http://';
}
$uri .= $_SERVER['HTTP_Host'];
header('Location: '.$uri.'/xampp/');
exit;
?>

Index.phpにアクセスしようとすると、XAMPPのインストールに問題があるようです。この問題を解決するために何ができますか?

118
user1410081
  1. ブラウザでphpMyAdminを開き、rootとしてログインします。
  2. phpmyadminというデータベースを作成します。
  3. pmaという名前のユーザーを作成し、「ホスト」をWebサーバーのホスト名またはIPアドレスに設定し(WebサーバーとMySQLが同じボックスにある場合はlocalhostを使用)、パスワードをメモして、新しいユーザーにfullを付与します。 phpmyadminデータベースを制御します。このユーザーはこのデータベース以外のものにアクセスできないことをお勧めします。
  4. PhpMyAdminインストールディレクトリに移動します。ここにsqlというサブディレクトリがあります。
  5. sqlにはcreate_tables.sqlというファイルがあります。テキストエディタで開きます。
  6. PhpMyAdminでphpmyadminデータベースを選択し、 "SQL"タブをクリックしてください。
  7. テキスト全体をcreate_tables.sqlからテキストボックスにコピーして貼り付け、クエリを実行します。
  8. PhpMyAdminインストールディレクトリのconfig.inc.phpファイルを開き、次の行を追加します(または既存の設定が既に存在する場合は変更します)。

    $cfg['Servers'][1]['pmadb'] = 'phpmyadmin';
    $cfg['Servers'][1]['controluser'] = 'pma';
    $cfg['Servers'][1]['controlpass'] = '<your password>';
    
    // Note: The list below may grow as PMA evolves and more control tables are added
    // Use your common sense! Don't just blindly copypasta, look at what it means!
    $cfg['Servers'][1]['bookmarktable'] = 'pma_bookmark';
    $cfg['Servers'][1]['relation'] = 'pma_relation';
    $cfg['Servers'][1]['userconfig'] = 'pma_userconfig';
    $cfg['Servers'][1]['table_info'] = 'pma_table_info';
    $cfg['Servers'][1]['column_info'] = 'pma_column_info';
    $cfg['Servers'][1]['history'] = 'pma_history';
    $cfg['Servers'][1]['recent'] = 'pma_recent';
    $cfg['Servers'][1]['table_uiprefs'] = 'pma_table_uiprefs';
    $cfg['Servers'][1]['tracking'] = 'pma_tracking';
    $cfg['Servers'][1]['table_coords'] = 'pma_table_coords';
    $cfg['Servers'][1]['pdf_pages'] = 'pma_pdf_pages';
    $cfg['Servers'][1]['designer_coords'] = 'pma_designer_coords';
    
  9. ファイルを保存して閉じます。

IMPORTANT - PMAはログイン時に設定を読み込み、それを評価してセッションデータに保存するので、これを行わない限りメッセージは消えません。

  1. PhpMyAdminからログアウトして再度ログインしてください。

問題が解決しました。

231
DaveRandom

ここに来て、Debian/Ubuntu(または他のdpkgベースのディストリビューション)を使っている場合は、次のコマンドを実行してください。

Sudo dpkg-reconfigure phpmyadmin

Phpmyadminパッケージには、この操作を実行するためのスクリプトが含まれています。必要なのは権限を持つユーザーだけです。もちろんrootとしてログインしている場合はSudoは必要ありません。

編集:現在のphpmyadminユーザーを削除することを試みる価値があるかもしれません。

127
Or Cohen

config.inc.phpの「User for advanced features」と「Advanced phpMyAdmin features」のコードブロック全体をコメントアウトするだけです。

23
streak

これは私にとってUbuntu 16.04の下のphpmyadminでうまくいきました:

/etc/phpmyadmin/config.inc.phpを編集して、次の2行を変更しました。

$cfg['Servers'][$i]['controluser'] = 'root'; 
$cfg['Servers'][$i]['controlpass'] = 'thepasswordgiventoroot'; 
4
Dominique H.

最近MySQLサーバーのrootパスワードを変更しましたか?答えがYESの場合、これはphpMyAdminコンソール内のエラー/警告の原因です。この問題を解決するには、phpMyAdminのconfig-db.phpファイルを編集して適切なデータベースパスワードを設定するだけです。

最初の答えは私の考えではめちゃくちゃになりすぎて、2番目の答えは私にはうまくいきませんでした。そう:

Linuxベースのサーバーでは、ファイルは通常次の場所にあります。

/etc/phpmyadmin/config-db.php

または

/etc/phpMyAdmin/config-db.php

例:(私のファイルはこのように見え、phpmyadminを使ってデータベースを管理するために作成したユーザー名をphpmyadminからadminに変更し、適切なパスワードを入力しました。

$dbuser='phpmyadmin';
$dbpass=''; // set current password between quotes ' '
$basepath='';
$dbname='phpmyadmin';
$dbserver='';
$dbport='';
$dbtype='mysql';

クレジット: http://tehnoblog.org/phpmyadmin-error-connection-for-controluser-as-defined-in-your-configuration-failed/

3
Ben

Ubunbtuについて.

Benのメッセージは近いですが、問題となっているのはrootのパスワードではありません。私が見つけた問題は、インストール時にphpmyadminデータベースのパスワードを作成したことです。このパスワードはubuntuのインストールには含まれていないため、変数$ dbpass = '';を使用します。データベース設定ファイル内のパスワードが空で、設定したパスワードではありません。

  1. Mysql -u phpmyadmin -p空白のパスワードを試してみてアクセスが拒否されたことがわかった場合は、インストール中に設定したパスワードを使用してコマンドを再入力します。ログインすれば、パスワードがわかります。
  2. / etc/phpadmin/config-db.phpを編集し、$ dbpass = '';に変更します。 $ dbpass = 'あなたのパスワード';そしてファイルを保存します。
  3. / etc/dbconfig-common/phpmyadmin.confを変更します。dbc_dbpass = ''; todbc_dbpass = 'あなたのパスワード';そしてファイルを保存してください。ブラウザを閉じてリロードすると、メッセージが消えてしまいます。
3
Clive Wi

「再び機能させるには、ファイルを削除しただけです。

ib_logfile0と

ib_logfile1.

から:

/アプリケーション/ MAMP/db/mysql56/ib_logfile0 "

XAMPPではそのXampp/xamppfiles/var/mysql

これを から取得してください。PHP警告:mysqli_connect():(HY000/2002):接続が拒否されました

2
SoftwarerHelp

ubuntu /etc/phpmyadmin/config-db.php上

パスワードがコントロールユーザーのconfig.inc.phpと一致することを確認してください。

フグも短すぎるエラー

/var/lib/phpmyadmin/blowfish_secret.inc.phpを編集してキーを長くします

0
Royce

私は同じ問題を抱えていました。私の場合、Mysqlは再起動後に起動しませんでした。私は一度mysql "service mysql start"を起動すると、すべてうまくいきました。

0
Amir Khalil

ubuntu 18.04 on etc/phpmyadmin/config.inc.phpすべてのブロックをコメントする

オプション:高度な機能のためのユーザー

0
boaz

問題は、PhpMyAdminコントロールユーザー(通常:pma)のパスワードがmysqlユーザー:pma(同じユーザー)のパスワードと一致しないことです。

修正するには、以下の手順に従ってください。1.ユーザpmaに必要なパスワードをここに設定します。

"C:\ xampp\phpMyAdmin\config.inc.php"

$ cfg ['Servers'] [$ i] ['controlpass'] = 'your_new_phpmyadmin_pass';

(32行目のようになります)

それからmysqlに行き、rootとしてログインし、行きます:(私はここに行くのにphpmyadminを使いました)

データベース:mysql"テーブル:user

ユーザーを編集します。pma

機能リスト(左側の列)から "Password"を選択し、右側の列に "your_new_phpmyadmin_pass"を設定してgoを押してください。

MySQLサーバーを再起動します。

今すぐメッセージが消えます。

0
Tarik

単にconfig.inc.phpファイルを変更するだけです。このリンクには誤ったパスワードがあります。そして今、それは完全にうまくいった。

0
Mohit Sharma