web-dev-qa-db-ja.com

phpMyAdminエラー:mysqli_real_connect():(HY000 / 1045):ユーザー 'pma' @ 'localhost'のアクセスが拒否されました(パスワードを使用:NO)

これを重複としてマークしないでください私は他に何をすべきかわからない場所で答えを見つけることができません。

XAMPPを介したmysql接続で次のエラーが発生し続けますが、どうすればよいかわかりません。

enter image description here

これがconfig.inc.phpのコードです

<?php
/*
 * This is needed for cookie based authentication to encrypt password in
 * cookie
 */
$cfg['blowfish_secret'] = 'xampp'; /* YOU SHOULD CHANGE THIS FOR A MORE 
SECURE COOKIE AUTH! */

/*
 * Servers configuration
 */
$i = 0;

/*
* First server
*/
$i++;

/* Authentication type and info */
$cfg['Servers'][$i]['auth_type'] = 'config';
$cfg['Servers'][$i]['user'] = 'root';
$cfg['Servers'][$i]['password'] = '';
$cfg['Servers'][$i]['extension'] = 'mysqli';
$cfg['Servers'][$i]['AllowNoPassword'] = true;
$cfg['Lang'] = '';

/* Bind to the localhost ipv4 address and tcp */
$cfg['Servers'][$i]['Host'] = '127.0.0.1';
$cfg['Servers'][$i]['connect_type'] = 'tcp';

/* User for advanced features */
$cfg['Servers'][$i]['controluser'] = 'pma';
$cfg['Servers'][$i]['controlpass'] = '';

/* Advanced phpMyAdmin features */
$cfg['Servers'][$i]['pmadb'] = 'phpmyadmin';
$cfg['Servers'][$i]['bookmarktable'] = 'pma__bookmark';
$cfg['Servers'][$i]['relation'] = 'pma__relation';
$cfg['Servers'][$i]['table_info'] = 'pma__table_info';
$cfg['Servers'][$i]['table_coords'] = 'pma__table_coords';
$cfg['Servers'][$i]['pdf_pages'] = 'pma__pdf_pages';
$cfg['Servers'][$i]['column_info'] = 'pma__column_info';
$cfg['Servers'][$i]['history'] = 'pma__history';
$cfg['Servers'][$i]['designer_coords'] = 'pma__designer_coords';
$cfg['Servers'][$i]['tracking'] = 'pma__tracking';
$cfg['Servers'][$i]['userconfig'] = 'pma__userconfig';
$cfg['Servers'][$i]['recent'] = 'pma__recent';
$cfg['Servers'][$i]['table_uiprefs'] = 'pma__table_uiprefs';
$cfg['Servers'][$i]['users'] = 'pma__users';
$cfg['Servers'][$i]['usergroups'] = 'pma__usergroups';
$cfg['Servers'][$i]['navigationhiding'] = 'pma__navigationhiding';
$cfg['Servers'][$i]['savedsearches'] = 'pma__savedsearches';
$cfg['Servers'][$i]['central_columns'] = 'pma__central_columns';
$cfg['Servers'][$i]['designer_settings'] = 'pma__designer_settings';
$cfg['Servers'][$i]['export_templates'] = 'pma__export_templates';
$cfg['Servers'][$i]['favorite'] = 'pma__favorite';

/*
 * End of servers configuration
 */

?>

コマンドラインからMySqlからパスワードを2回リセットし、上記のコードとphp.iniファイルに変更を追加しましたが、そのたびにエラーに戻ります。助けがありますか?

17
E.M.A.A.

mysqlでユーザー「pma」を作成するか、次の行(mysqlのユーザーとパスワード)を変更する必要があります。

/* User for advanced features */
$cfg['Servers'][$i]['controluser'] = 'pma'; 
$cfg['Servers'][$i]['controlpass'] = '';

Linux:/etc/phpmyadmin/config.inc.php

この行をファイルに追加しますxampp\phpMyAdmin\config.inc

$cfg['Servers'][$i]['port'] = '3307';

ここで、私のポートは3307です。これを自分のものに変更できます。

8
sam.stack

ターミナルで、rootとしてMySQLにログインします。 MySQLを初めてインストールしたときにルートパスワードを作成したか、パスワードが空白の場合があります。この場合、パスワードの入力を求められたらEnterキーを押すだけです。

 Sudo mysql -p -u root

ここで、選択したユーザー名で新しいMySQLユーザーを追加します。この例では、pmauser(phpmyadminユーザー用)と呼んでいます。 password_hereを自分のものに置き換えてください。ここでパスワードを生成できます。ここの%記号は、このユーザーがリモートのどこからでもログインできるようにMySQLに指示します。セキュリティを強化したい場合は、これをIPアドレスに置き換えることができます。

CREATE USER 'pmauser'@'%' IDENTIFIED BY 'password_here';

次に、新しいユーザーにスーパーユーザー権限を付与します。

GRANT ALL PRIVILEGES ON *.* TO 'pmauser'@'%' WITH GRANT OPTION;

次にconfig.inc.php(ubuntu内の/etc/phpmyadmin/config.inc.php)に移動します

/ *高度な機能のユーザー* /

$cfg['Servers'][$i]['controluser'] = 'pmauser'; 
$cfg['Servers'][$i]['controlpass'] = 'password_here';
4
Wasim Khan

これらの行をファイルxampp\phpMyAdmin\config.incに追加します。

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

MACでのXAMPPのセットアップを終えたばかりで、同じ問題が発生しました。直しました。使用しているOSは明確ではありませんが、XAMPPセキュリティを実行する必要があります。あなたはそれをやったことを示しますが、ここではMACのためにとにかくです

Sudo /Applications/XAMPP/xamppfiles/xampp security 

質問にパスワードを設定してください。

Phpmyadminで、「create_tables.sql」をインポートします。これは./phpmyadmin/sqlフォルダーにあります。

次に、config.inc.phpフォルダー内の./phpmyadminファイルを開きます。

$cfg['Servers'][$i]['controluser'] = 'pma';
$cfg['Servers'][$i]['controlpass'] = 'you_password';

ログアウトしてからログインして、phpmyadmin内の変更を反映してください。

2
Daniel

VestaCPの新規インストールでも同じエラーが発生しました。 このビデオ の指示に従って問題を解決しました。

  1. phpmyadmin-fixer に移動し、適切なコマンドを実行します。
  2. Apache、NGINX、MySQLサーバーを再起動します。
  3. それでおしまい!
2
nicozica

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

$cfg['Servers'][$i]['controluser'] = 'pma';
$cfg['Servers'][$i]['controlpass'] = 'you_password';
1
Saurabh Naikele

パーティーに遅刻するかもしれません-また、この答えはLAMPユーザー私のようなGoogleからこのスレッドにアクセスした人向けです。

基本的に、問題はPMAが存在しないユーザーでSQLに接続しようとしていることです。

/etc/phpmyadmin/config-db.phpには、$ dbuserと$ dbpassの2つの変数があります。これらは、PMAが接続しようとしているMySQLユーザーとパスワードを指定します。

次に、動作するユーザー名/パスワード(または、localhostから接続している場合は単に「root」)で接続し、グローバル特権を持つ新しいユーザーを作成します(例:%PMA User%とパスワード%Some Random Password%)。上記のファイルセット:
$ dbuser =%PMA User%;
$ dbpass =%ランダムパスワード%;

また、サーバーアドレス($ dbserver)、ポート($ dbport、お使いのマシンのデフォルトのポートではない可能性があります)など、他のものを変更することもできます。

1
ron wizzle

ホストエントリ127.0.0.1localhostまたはサーバーのIPアドレスに変更することを検討してください。

$cfg['Servers'][$i]['Host']
1
TheSatinKnight

Linux/Ubuntu:apt経由でphpmyadminをインストールした場合:Sudo apt-get install phpmyadmin php-mbstring

ユーザー資格情報の変更について/etc/phpmyadmin/config-db.phpを確認できます。

$dbuser='pma';
$dbpass='my_pass';
$basepath='';
$dbname='phpmyadmin';
$dbserver='localhost';
$dbport='3306';
$dbtype='mysql';
1
User Rebo

デフォルトの3306ポートが使用されていたため、8111に変更しましたが、このエラーが発生しました。私は追加して修正しました

$cfg['Servers'][$i]['port'] = '8111';

config.inc.phpに。別のポート番号を使用している場合は、設定してください。それが役に立てば幸い!

0
A. Askarov