sourcecode

phpMyAdmin 오류: mysqli_real_connect(): (HY000/1045):'pma'@'localhost' 사용자에 대한 액세스가 거부되었습니다(암호 사용: 아니요).

codebag 2023. 8. 6. 10:03
반응형

phpMyAdmin 오류: mysqli_real_connect(): (HY000/1045):'pma'@'localhost' 사용자에 대한 액세스가 거부되었습니다(암호 사용: 아니요).

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의 비밀번호를 재설정했고 위의 코드와 php.ini 파일에 변경 사항을 추가했지만 매번 오류로 돌아갑니다.도와드릴까요?

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당신은 그것을 당신의 것으로 바꿀 수 있습니다.

터미널에서 MySQL에 루트로 로그인합니다.MySQL을 처음 설치할 때 루트 암호를 만들었을 수도 있고 암호가 비어 있을 수도 있습니다. 이 경우 암호를 입력하라는 메시지가 나타나면 Enter 키를 누릅니다.

 sudo mysql -p -u root

이제 원하는 사용자 이름으로 새 MySQL 사용자를 추가합니다.이 예에서는 pmauser(phpmyadmin 사용자의 경우)라고 합니다.여기서 password_를 자신의 password로 바꾸십시오.여기서 암호를 생성할 수 있습니다.여기서 % 기호는 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';

합니다.xampp\phpMyAdmin\config.inc:

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

제 기본 3306 포트가 사용 중이어서 8111로 변경했는데 이 오류가 발생했습니다.를 추가하여 수정했습니다.

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

config.inc.dll로 이동합니다.다른 포트 번호를 사용하는 경우 해당 포트 번호를 설정합니다.

Linux / Ubuntu: apt를 을 설치한 :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';

나는 라인을 추가하여 문제를 해결했습니다.skip-grant-tablesmy.ini:

# The MySQL server
[mysqld]
skip-grant-tables
port= 3306
...

XAMPP 제어판 > 섹션 "MySQL" > 구성 > my.ini에서

다음 직후 구성에 정의된 제어 사용자에 대한 연결이 실패했습니다.

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

config.inc.php 파일에서 변경했습니다.

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

로.

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

그리고 그게 효과가 있었어!

VestaCP를 새로 설치할 때도 같은 오류가 발생했습니다.저는 이 동영상의 지침에 따라 문제를 해결했습니다.

  1. phpmyadmin-fixer로 이동하여 적절한 명령을 실행합니다.
  2. Apache, NGINX 및 MySQL 서버를 다시 시작합니다.
  3. 바로 그거야!

파티에 늦을 수도 있습니다. 또한 이 대답은 저처럼 구글에서 이 스레드에 도달한 LAMP 사용자를 위한 것입니다.

기본적으로 문제는 PMA가 존재하지 않는 사용자와 SQL에 연결하려고 한다는 것입니다.

/etc/phpmyadmin/config-db.php에는 $dbuser 및 $dbpass라는 두 가지 변수가 있습니다.이러한 사용자는 PMA가 연결하려는 MySQL 사용자 및 암호를 지정합니다.

이제 작동하는 사용자 이름/암호를 사용하여 연결하고(또는 로컬 호스트에서 연결하는 경우 "root"만 사용), 글로벌 권한(예: %PMA User% with password %Some Random Password %)을 가진 새 사용자를 생성한 다음 위에 언급된 파일 집합에서:
% 사용자 $dbuser = %PMA 사용자%;
= % Pass %; $dbpass = %dbpass 부임호 %;

서버 주소($dbserver), 포트($dbport, 컴퓨터의 기본 주소가 아닐 수 있음) 등과 같은 다른 항목도 변경할 수 있습니다.

저는 방금 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 내의 변경 사항을 반영하려면 로그아웃하고 로그인해야 합니다.

항목 합니다.127.0.0.1localhost또는 심지어 서버의 IP 주소.

$cfg['Servers'][$i]['host']

이 오류는 /usr/share/phpmyadmin/libraries/sql.lib.php의 코드 행으로 인해 발생합니다.

apt를 사용하여 phpMyAdmin을 설치했을 때 저장소의 버전(phpMyAdmin v4.6.6)이 PHP 7.2와 완전히 호환되지 않는 것 같습니다.공식 웹 사이트(작성 시점: v4.8)에서 PHP 7.2와의 호환성 문제를 해결하는 최신 버전이 있습니다.

최신 버전을 다운로드하여 수동으로 설치하거나 리포지토리가 최신 버전으로 업데이트될 때까지 기다릴 수 있습니다.

또는 sql.lib를 약간 변경할 수 있습니다.php: 오류를 수정합니다.

먼저 sql.lib를 백업합니다.편집하기 전에 php.

1-단자:

sudo cp /usr/share/phpmyadmin/libraries/sql.lib.php /usr/share/phpmyadmin/libraries/sql.lib.php.bak

2-sql.lib.php를 편집합니다.vi 사용:

sudo vi /usr/share/phpmyadmin/libraries/sql.lib.php

또는 나노를 사용하는 경우:

sudo nano /usr/share/phpmyadmin/libraries/sql.lib.php

+(나노의 경우) 또는 ?(vi/vim의 경우)를 누르고 다음을 검색합니다.(count($analyzed_sql_results['select_expr'] == 1)

다음으로 대체((count($analyzed_sql_results['select_expr']) == 1)

파일을 저장하고 종료합니다. (+, 를 누른 다음 Enter 키를 눌러 nano users / (vi/vim의 경우) ESC를 누르고 :wq를 입력하고 Enter 키를 누릅니다.)

UniServer Zero XIV 13.x.x UniController XIV V2.3.1을 사용하고 있습니다.

enter image description here

명령줄에서 다음 작업을 수행했습니다.

mysql> CREATE USER 'pmauser'@'%' IDENTIFIED BY 'MyPasswordHere!';
Query OK, 0 rows affected (0.07 sec)

mysql> GRANT ALL PRIVILEGES ON *.* TO 'pmauser'@'%' WITH GRANT OPTION;
Query OK, 0 rows affected (0.02 sec)

그다음에 저는.C:\...\wamp\ZeroXIV_unicontroller_2_3_1\UniServerZ\home\us_opt1\config.inc.php파일을 다음과 같이 수정했습니다.

/* PMA User advanced features */
//////////$cfg['Servers'][$i]['controluser']    = 'pma';
//////////$cfg['Servers'][$i]['controlpass']    = $password;
$cfg['Servers'][$i]['controluser']    = 'pmauser';
$cfg['Servers'][$i]['controlpass']    = 'MyPasswordHere!';

Apache와 MySQL을 다시 시작했습니다.오류가 사라졌습니다!

브라우저에서 사이트 데이터를 지웁니다.그리고 그것은 고쳐질 겁니다때때로 프록시, vpns 또는 일부 다른 프로그램을 실행할 때 이 오류가 발생합니다.

포트 번호를 변경합니다.저는 이 단계들을 따랐고 그것은 저에게 효과가 있었습니다.

XAMPP의 포트 번호는 다음 5단계를 수행하여 쉽게 변경할 수 있습니다.

1단계: xampp 서버가 이미 실행 중인 경우 중지합니다. (붕괴를 방지하기 위해)

2단계: 관리자 권한으로 메모장을 실행하고 다음 3개의 파일을 엽니다.

  1. xampp/properties.ini

  2. xampp/bin/my.ini

  3. xampp/smap/smap.ini

3단계: ctrl+F를 누르고 3306(포트 번호)을 모두 3308(3307 또는 3309)로 바꿉니다. ( 변경되지 않은 3306 포트를 놓치지 않도록 ctrl+F를 사용합니다.그렇지 않으면 작동하지 않습니다)

4단계: 모든 파일을 저장합니다.

5단계 : 이제 Apache 및 mysql을 다시 시작합니다.효과가 있을 것입니다 :)

비밀번호가 있는 곳은 먼저 세 곳을 변경해야 하므로 $['password'], $['controlpass']에 서버 비밀번호를 입력하십시오.

여기 이 코드들이 당신에게 도움이 된다고 믿습니다.

$cfg['Servers'][$i]['user'] = 'root';
$cfg['Servers'][$i]['password'] = 'yourPassword of server;

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

$cfg['Servers'][$i]['controluser'] = 'pma';
$cfg['Servers'][$i]['controlpass'] = 'yourPassword of server';

일반적으로 xampp 서버를 시작할 때 문제가 발생합니다.문제는 어떻게든 이런 것입니다.

문제가 감지되었습니다! 2:06:05 AM [mysql] "프로세스를 열 수 없습니다"에서 사용 중인 포트 3306! 2:06:05 AM [mysql] 구성된 포트가 없으면 MySQL이 시작되지 않습니다! 2:06:05 AM [mysql] 차단 응용 프로그램을 제거/비활성화/재구성하거나 MySQL 및 제어판을 다른 포트에서 수신 대기하도록 재구성해야 합니다.

먼저 포트 3306을 8111로 변경해야 합니다.어떻게 변경하시겠습니까? xampp/messages/data 안에 있는 my.ini 파일로 이동하여 노트패드로 열고 변경하시면 됩니다.

그 후 phpmyadmin을 시작하려고 하면 오류 액세스가 거부됩니다.

이제 config.inc 파일의 포트 설정도 변경해야 합니다.xampp/PHPMyAdmin/Config.inc에서 찾을 수 있습니다.

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

그런 다음 xampp 서버를 다시 시작하고 웹 페이지를 새로 고치면 작동합니다.

언급URL : https://stackoverflow.com/questions/46736319/phpmyadmin-error-mysqli-real-connect-hy000-1045-access-denied-for-user-p

반응형