root@localhost를 가진 관리자로부터 "권한 거부" 오류가 발생했습니다.
관리자를 사용하여 MariaDB 데이터베이스에 연결하려고 하는데 로그인 버튼을 누르면 "Permission denied" 오류가 나타납니다.비밀번호가 틀렸을 경우 예상되는 "접근 거부"가 아닙니다.
MariaDB를 처음 사용하는데다 CentOS도 잘 모르는데 뭐가 문제인지 잘 모르겠어요.시스템에 대한 몇 가지 디버깅 및 설정을 다음에 나타냅니다.
PHP에서 MariaDB에 연결하면 다음과 같은 테스트 스크립트가 작동합니다.
<?php
$db = mysqli_connect('127.0.0.1','root','mypassword')
or die(mysqli_error());
var_dump($db);
사용.mysql -h 127.0.0.1 -u root -p
콘솔에서도 동작합니다.netstat
을 확인하다mysqld
리슨 중:
$ sudo netstat -tlpn | grep mysqld
tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN 16428/mysqld
MariaDB 보조금:
MariaDB [(none)]> show grants;
+--------------------------------------------------------------------------------------------------+
| Grants for root@localhost |
+--------------------------------------------------------------------------------------------------+
| GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY PASSWORD '...' WITH GRANT OPTION |
| GRANT PROXY ON ''@'%' TO 'root'@'localhost' WITH GRANT OPTION |
+--------------------------------------------------------------------------------------------------+
관리자 설정:
System: MySQL
Server: 127.0.0.1
Username: root
Password: mypassword
Database: (none)
내 시스템:
CentOS 7
Apache 2.4.6
PHP 5.4.16
MariaDB 10.1.16
Adminer 4.2.5
SELinux 설정이 잘못되어 있는 것이 주된 원인이지만, 이 문제에 영향을 주는 MariaDB 버그도 있습니다.
SELinux에 부울이 있습니다.httpd_can_network_connect_db
HTTP 서버 스크립트와 모듈이 데이터베이스 서버에 접속할 수 있는지 여부를 정의합니다.기본값은 입니다.off
:
$ getsebool httpd_can_network_connect_db
httpd_can_network_connect_db --> off
이걸 돌리면on
및 재시작* Apache를 사용하여 관리자로부터 접속할 수 있습니다.Server: 127.0.0.1
:
sudo setsebool -P httpd_can_network_connect_db on
sudo systemctl restart httpd
*) 재기동할 필요가 있는지 잘 모르겠습니다.
다음을 사용하여 연결을 시도합니다.Server: localhost
여전히 작동하지 않습니다.이는 SELinux 컨텍스트에 관한 MariaDB 10.1.16의 중대한 오류(MDEV-10405 및 MDEV-10404)가 원인입니다.
이 버그에 대한 회피책은NoNewPrivileges=true
설정.
파일 생성/etc/systemd/system/mariadb.service.d/myfix.conf
:
# temporary fix for bug https://jira.mariadb.org/browse/MDEV-10404
[Service]
NoNewPrivileges=false
그런 다음 다음을 실행합니다.
sudo systemctl daemon-reload
sudo systemctl restart mariadb
언급URL : https://stackoverflow.com/questions/38673409/permission-denied-error-from-adminer-with-rootlocalhost
'source' 카테고리의 다른 글
모든 로케일과 그 쇼트 코드 목록 (0) | 2022.09.21 |
---|---|
변수 참조만 참조로 반환해야 합니다(Codeigniter). (0) | 2022.09.21 |
쿼리에 오류가 없고 행도 0개 반환되는 이유는 무엇입니까? (0) | 2022.09.20 |
동시.Python 3에서의 미래 vs 멀티프로세싱 (0) | 2022.09.20 |
JavaScript에서 숫자가 홀수인지 확인하는 방법 (0) | 2022.09.20 |