phpMyAdmin 오류: mysqli_real_connect(): (HY000/1045):'pma'@'localhost' 사용자에 대한 액세스가 거부되었습니다(암호 사용: 아니요).
XAMPP를 통한 mysql 연결에서 다음 오류가 계속 발생하고 어떻게 해야 할지 모르겠습니다.
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-tables
my.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를 새로 설치할 때도 같은 오류가 발생했습니다.저는 이 동영상의 지침에 따라 문제를 해결했습니다.
- phpmyadmin-fixer로 이동하여 적절한 명령을 실행합니다.
- Apache, NGINX 및 MySQL 서버를 다시 시작합니다.
- 바로 그거야!
파티에 늦을 수도 있습니다. 또한 이 대답은 저처럼 구글에서 이 스레드에 도달한 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.1
localhost
또는 심지어 서버의 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을 사용하고 있습니다.
명령줄에서 다음 작업을 수행했습니다.
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개의 파일을 엽니다.
xampp/properties.ini
xampp/bin/my.ini
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
'sourcecode' 카테고리의 다른 글
스위프트에서 토스트 메시지를 만드는 방법은 무엇입니까? (0) | 2023.08.06 |
---|---|
CSS를 사용하면 다중 행의 오버플로 블록에 "..."를 사용합니다. (0) | 2023.08.06 |
혜성과 jQuery (0) | 2023.08.06 |
구조체 끝의 크기가 0인 배열 (0) | 2023.08.06 |
빠르게 원을 그리며 이미지를 설정하는 방법 (0) | 2023.08.06 |