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


127

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のインストールに問題があるようです。この問題を解決するにはどうすればよいですか?


19
私見この種の質問はかなり一般的であり、それらを修正するために多くの時間が浪費されます。また、「問題の定義された範囲」によって、そのような質問を「プログラマーが一般的に使用するソフトツール」または「だから、私はSO退役軍人に、「オフトピック」とマークする前にそのような投稿を注意深く検討するように依頼します。SOは、プログラミングの問題に直面し、それを解決した人から、プログラミングの問題を解き明かすための信頼できる1つの目的地になっています。そのため、プログラマーが他の場所でそのような問題を検索するよりも、ここで正確な答えを得ることが役立つでしょう。
デクスター

回答:


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

    $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. ファイルを保存して閉じます。

重要 -PMAはログイン時に構成をロードし、それを評価してセッションデータに保存するので、これを行うまでメッセージは消えません。

  1. phpMyAdminからログアウトして、再度ログインします。

問題が解決しました。


3
「ログアウトして再度ログイン」するための+1。私はそれをしなければならないことに気付かずに5分無駄にした。
マシューG

1
@MatthewGはい、ディスクI / Oを削減するためにログインした時点で構成ファイルがセッションに読み込まれるため、^^はPMA構成ファイルに加えた変更に適用されます
DaveRandom

14
どういうわけか、私のバージョンのphpmyadminのテーブル名は「pma__bookmark」など2つの「アンダースコア」が付いています。誰かが同じものを持っている場合は、それに応じて「config.inc.php」を編集する必要があります。ところで、設定ファイルはUbuntuの「/ etc / phpmyadmin」ディレクトリにあります
ajaybc

6
Ubuntu 14.04では、create_tables.sqlの場所は/usr/share/doc/phpmyadmin/examples/create_tables.sql.gz内にあります
karlingen

5
これは素晴らしい答えです(+私から100番目;))。ただし、手順4で指定したサンプルディレクトリが見つかりませんでした。代わりにここにあります。/usr/share/doc/phpmyadmin/examplesそして、そこに圧縮SQLファイルが見つかりました:create_tables.sql.gz
Majid Fouladpour

134

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

sudo dpkg-reconfigure phpmyadmin

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

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


2
これは私にとってはうまくいきました、私はそれが尋ねたデータベースを再インストールしなければなりませんでした。ありがとう。(Ubuntu 12.04)
ino

17
これを機能させるには、構成中に制御ユーザーに対して「phpmyadmin」ではなく「pma」と入力する必要がありました。
Hardell 2013

1
ありがとう、あなたは私の日を保存しました:) hehe
Jeremy Dicaire '25年

2
最初に「phpmyadmin」ユーザーを削除し、私のために働いた後「sudo dpkg-reconfigure phpmyadmin」を実行します。ありがとう!
bshea 2014年

1
注:これにより、構成されているサーバーがあれば、すべて消去されます。
ラプター

23

の「User for advanced features」および「Advanced phpMyAdmin features」コードブロック全体をコメント化するだけですconfig.inc.php


これについての説明は?これはどのようにそしてなぜ機能するのですか?
ヒューイ

1
@ベン:時々それがすべての問題です;)
2016年

どのファイルで...これはとても有益ではありません!しかし、誰もが理解しているので、私は愚かで修正できないと思います笑
Jamie Hutber

2
config.inc.phpになります
Rocoty

1
User for advanced features" and "Advanced phpMyAdmin features中のようなものは存在しないphpmyadmin/config.inc.php
AN

11

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

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

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

/etc/phpmyadmin/config-db.php

または:

/etc/phpMyAdmin/config-db.php

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

$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/


4

これは、Ubuntu 16.04でphpmyadminを使用して動作しました。

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

$cfg['Servers'][$i]['controluser'] = 'root'; 
$cfg['Servers'][$i]['controlpass'] = 'thepasswordgiventoroot'; 

3

ウブンブトゥ。

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

  1. コマンドラインに正しいパスワードがあることを確認するには、次のコマンドを使用してmysqlにログインします。ログインすると、パスワードがわかります。
  2. /etc/phpadmin/config-db.phpを編集して$ dbpass = ''を変更します。$ DBPASS = 'パスワード'; ファイルを保存します。
  3. /etc/dbconfig-common/phpmyadmin.confを編集します = ''を変更します。to dbc_dbpass = 'Your Password'; ファイルを保存します。ブラウザを閉じてリロードすると、メッセージが消えてしまいます。


0

問題は、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»テーブル:ユーザー

ユーザーを編集:pma

関数リスト(左の列)から「パスワード」を選択し、右の列に「your_new_phpmyadmin_pass」を設定して、goをクリックします。

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

これでメッセージが消えます。


0

config.inc.phpファイルを変更するだけです。このリンクにエラーのあるパスワードがあります$ cfg ['Servers'] [$ i] ['password'] = 'your password'; そして今、完全に機能しました。


質問を編集して詳細を追加してください。これは低品質です。
Mathews Sunny

上記は解像度です。上記の手順を実行していません。単にconfig.inc.phpディレクトリに移動し、このファイルconfig.inc.phpをメモ帳で開き、変更されたこの行$ cfg ['Servers'] [$ i] ['password'] = 'your password'
Mohitシャルマ

パスワードが間違っていると記載されていることを確認しました。正しいパスワードをもう一度入力して保存し、phpmyadminを再度実行すると、正しく動作します
Mohit Sharma

0

ubuntu /etc/phpmyadmin/config-db.php

パスワードが制御ユーザーのconfig.inc.phpと一致することを確認してください

また、フグの短すぎるエラー

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


0

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

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


-1

今日XAMPPをインストールしたばかりなので、私はmysqlに別のデフォルトポートを使用することにしました。これは恐ろしいことでした。これらの行をphpMyAdminに必ず追加してくださいconfig.inc.php

$cfg['Servers'][$i]['host'] = 'localhost';

$cfg['Servers'][$i]['port'] = 'port';`
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.