![mysql 거부 권한에 대한 GRANT USAGE를 제거하는 방법](https://linux55.com/image/71077/mysql%20%EA%B1%B0%EB%B6%80%20%EA%B6%8C%ED%95%9C%EC%97%90%20%EB%8C%80%ED%95%9C%20GRANT%20USAGE%EB%A5%BC%20%EC%A0%9C%EA%B1%B0%ED%95%98%EB%8A%94%20%EB%B0%A9%EB%B2%95.png)
우분투 인스턴스에 메일 서버가 있습니다. 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
확인하십시오 . 서버도 수신하도록 허용하지 않으면 .mysql
127.0.0.1
::
mysql
127.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
아래와 같이 명령줄 구성에서 검색된 비밀번호를 사용하여 사용자로 서버에 로그인해 보십시오 .froxlor
FROXLOR
mysql -u froxlor -p retrived_password
이것이 작동하면 FROXLOR
연결도 되어야 합니다.
mysql
각 단계가 끝나면 서버를 다시 시작하는 것을 잊지 마세요 .