mysql 거부 권한에 대한 GRANT USAGE를 제거하는 방법

mysql 거부 권한에 대한 GRANT USAGE를 제거하는 방법

우분투 인스턴스에 메일 서버가 있습니다. FROXLOR를 관리하는 웹 서버가 있는데 메일 계정에 로그인하려고 하면 액세스 거부 오류가 발생합니다. 이에 대해 기록하십시오.

Aug 16 03:14:33 email dovecot: auth-worker(15140): Error: mysql(127.0.0.1): Connect failed to database (froxlor): Access denied for user 'froxlor'@'localhost' (using password: YES) - waiting for 25 seconds before retry
Aug 16 03:14:58 email dovecot: auth-worker(15140): Error: mysql(127.0.0.1): Connect failed to database (froxlor): Access denied for user 'froxlor'@'localhost' (using password: YES) - waiting for 125 seconds before retry

mysql을 확인해 보니 다음과 같다.

mysql> show grants for 'froxlor'@'localhost';
+----------------------------------------------------------------------------------------------------------------+
| Grants for froxlor@localhost                                                                                   |
+----------------------------------------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'froxlor'@'localhost' IDENTIFIED BY PASSWORD '*AAAAABBBBBCCCCCDDDDDEEEEE111112222333344444' |
| GRANT ALL PRIVILEGES ON `froxlor`.* TO 'froxlor'@'localhost' WITH GRANT OPTION                                 |
+----------------------------------------------------------------------------------------------------------------+
2 rows in set (0.00 sec)

Google 검색에서 해당 줄은 GRANT USAGE on*.*부여가 "없음" 권한과 관련되어 있다고 말합니다.

FLUSH PRIVILEGES;권한 취소, 사용자 삭제, GRANT OPTION을 사용하여 모든 권한 부여, 항상 사용 하고 때로는 사용하는 모든 권한 부여를 시도했지만 service mysql restart.... 이 문제를 해결하는 방법은 없습니다. 누구든지 나를 도와줄 수 있나요? 미리 감사드립니다

답변1

이 경우 귀하의 mysql서버가 목록에 없는 것 같습니다.127.0.0.1

다음 출력을 확인하십시오.

sudo netstat -tunlep

mysql 서버는 포트 3306에서 수신 대기합니다. 서버가 듣고 있는지 여부를 출력 에서 netstat -tunlep​​확인하십시오 . 서버도 수신하도록 허용하지 않으면 .mysql127.0.0.1::mysql127.0.0.1

또한 아래와 같이 시스템의 호스트 이름을 올바르게 업데이트하십시오.

sudo vim /etc/hosts
127.0.0.1 localhost localhost.localdomain (other_entries,if any)
:: localhost localhost.localdomain (other_entries,if any)

그래도 문제가 해결되지 않으면 소프트웨어의 구성 파일을 사용하여 비밀번호를 검색하십시오. ( 구성이 어디에 있는지 FROXLOR모르겠습니다 . 소프트웨어 설명서를 확인하십시오.)FROXLOR

mysql아래와 같이 명령줄 구성에서 검색된 비밀번호를 사용하여 사용자로 서버에 로그인해 보십시오 .froxlorFROXLOR

mysql -u froxlor -p retrived_password

이것이 작동하면 FROXLOR연결도 되어야 합니다.

mysql각 단계가 끝나면 서버를 다시 시작하는 것을 잊지 마세요 .

관련 정보